{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"type": "text/vnd.tiddlywiki",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2017, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n </g>\n</svg>"
},
"$:/core/images/auto-height": {
"title": "$:/core/images/auto-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-auto-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M67.9867828,114.356363 L67.9579626,99.8785426 C67.9550688,98.4248183 67.1636987,97.087107 65.8909901,96.3845863 L49.9251455,87.5716209 L47.992126,95.0735397 L79.8995411,95.0735397 C84.1215894,95.0735397 85.4638131,89.3810359 81.686497,87.4948823 L49.7971476,71.5713518 L48.0101917,79.1500092 L79.992126,79.1500092 C84.2093753,79.1500092 85.5558421,73.4676733 81.7869993,71.5753162 L49.805065,55.517008 L48.0101916,63.0917009 L79.9921259,63.0917015 C84.2035118,63.0917016 85.5551434,57.4217887 81.7966702,55.5218807 L65.7625147,47.4166161 L67.9579705,50.9864368 L67.9579705,35.6148245 L77.1715737,44.8284272 C78.7336709,46.3905243 81.2663308,46.3905243 82.8284279,44.8284271 C84.390525,43.2663299 84.390525,40.7336699 82.8284278,39.1715728 L66.8284271,23.1715728 C65.2663299,21.6094757 62.73367,21.6094757 61.1715729,23.1715729 L45.1715729,39.1715729 C43.6094757,40.73367 43.6094757,43.26633 45.1715729,44.8284271 C46.73367,46.3905243 49.26633,46.3905243 50.8284271,44.8284271 L59.9579705,35.6988837 L59.9579705,50.9864368 C59.9579705,52.495201 60.806922,53.8755997 62.1534263,54.5562576 L78.1875818,62.6615223 L79.9921261,55.0917015 L48.0101917,55.0917009 C43.7929424,55.0917008 42.4464755,60.7740368 46.2153183,62.6663939 L78.1972526,78.7247021 L79.992126,71.1500092 L48.0101917,71.1500092 C43.7881433,71.1500092 42.4459197,76.842513 46.2232358,78.7286665 L78.1125852,94.6521971 L79.8995411,87.0735397 L47.992126,87.0735397 C43.8588276,87.0735397 42.4404876,92.5780219 46.0591064,94.5754586 L62.024951,103.388424 L59.9579785,99.8944677 L59.9867142,114.32986 L50.8284271,105.171573 C49.26633,103.609476 46.73367,103.609476 45.1715729,105.171573 C43.6094757,106.73367 43.6094757,109.26633 45.1715729,110.828427 L61.1715729,126.828427 C62.73367,128.390524 65.2663299,128.390524 66.8284271,126.828427 L82.8284278,110.828427 C84.390525,109.26633 84.390525,106.73367 82.8284279,105.171573 C81.2663308,103.609476 78.7336709,103.609476 77.1715737,105.171573 L67.9867828,114.356363 L67.9867828,114.356363 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n</svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"></svg>"
},
"$:/core/images/bold": {
"title": "$:/core/images/bold",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.1456583,51.8095238 L41.1456583,21.8711485 L67.4985994,21.8711485 C70.0084159,21.8711485 72.4285598,22.0802967 74.7591036,22.4985994 C77.0896475,22.9169022 79.1512515,23.6638602 80.9439776,24.7394958 C82.7367036,25.8151314 84.170863,27.3090474 85.2464986,29.2212885 C86.3221342,31.1335296 86.859944,33.5835518 86.859944,36.5714286 C86.859944,41.9496067 85.2465147,45.8337882 82.0196078,48.2240896 C78.792701,50.614391 74.6694929,51.8095238 69.6498599,51.8095238 L41.1456583,51.8095238 Z M13,0 L13,128 L75.0280112,128 C80.7647346,128 86.3519803,127.28292 91.789916,125.848739 C97.2278517,124.414559 102.068139,122.203563 106.310924,119.215686 C110.553709,116.22781 113.929959,112.373506 116.439776,107.652661 C118.949592,102.931816 120.204482,97.3445701 120.204482,90.8907563 C120.204482,82.8832466 118.262391,76.0411115 114.378151,70.3641457 C110.493911,64.6871798 104.607883,60.7133634 96.719888,58.442577 C102.456611,55.6937304 106.788968,52.1680887 109.717087,47.8655462 C112.645206,43.5630037 114.109244,38.1849062 114.109244,31.7310924 C114.109244,25.7553389 113.123259,20.7357813 111.151261,16.6722689 C109.179262,12.6087565 106.400578,9.35201972 102.815126,6.90196078 C99.2296739,4.45190185 94.927196,2.68908101 89.907563,1.61344538 C84.8879301,0.537809748 79.3305627,0 73.2352941,0 L13,0 Z M41.1456583,106.128852 L41.1456583,70.9915966 L71.8011204,70.9915966 C77.896389,70.9915966 82.7964334,72.3958776 86.5014006,75.2044818 C90.2063677,78.0130859 92.0588235,82.7039821 92.0588235,89.2773109 C92.0588235,92.6237329 91.4911355,95.3725383 90.3557423,97.5238095 C89.2203491,99.6750808 87.6965548,101.378145 85.7843137,102.633053 C83.8720726,103.887961 81.661077,104.784311 79.1512605,105.322129 C76.641444,105.859947 74.0121519,106.128852 71.2633053,106.128852 L41.1456583,106.128852 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/copy-clipboard": {
"title": "$:/core/images/copy-clipboard",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-copy-clipboard tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\">\n\t\t<rect x=\"40\" y=\"40\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"82\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"54\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"96\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"68\" width=\"12\" height=\"8\" rx=\"4\"></rect>\n\t\t<path d=\"M40,16 L23.9992458,16 C19.5813843,16 16,19.5907123 16,24 C16,24.0016363 16.0000005,24.0032725 16.0000015,24.0049086 C16.0000005,24.0065441 16,24.0081803 16,24.0098166 L16,119.990183 C16,119.99182 16.0000005,119.993456 16.0000015,119.995092 C16.0000005,119.996727 16,119.998364 16,120 C16,124.409288 19.5813843,128 23.9992458,128 L104.000754,128 C106.205061,128 108.203844,127.105595 109.652065,125.659342 C111.102424,124.21251 112,122.214511 112,120.007595 L112,103.992405 C112,99.5776607 108.418278,96 104,96 C99.5907123,96 96,99.5783218 96,103.992405 L96,112 L32,112 L32,32 L96,32 L96,40.0075946 C96,44.4223393 99.581722,48 104,48 C108.409288,48 112,44.4216782 112,40.0075946 L112,23.9924054 C112,21.7851587 111.104671,19.7871591 109.657101,18.3409203 C108.203844,16.8944047 106.205061,16 104.000754,16 L88,16 C88,11.5907123 84.4151006,8 79.9929031,8 L48.0070969,8 C43.5881712,8 40,11.581722 40,16 Z M44,14.9958262 C44,12.7889923 45.7964248,11 48.0000255,11 L79.9999745,11 C82.2091276,11 84,12.7965212 84,14.9958262 L84,19.0041738 C84,21.2110077 82.2035752,23 79.9999745,23 L48.0000255,23 C45.7908724,23 44,21.2034788 44,19.0041738 L44,14.9958262 Z\"></path>\n\t\t<rect x=\"62\" y=\"64\" width=\"66\" height=\"16\" rx=\"8\"></rect>\n\t\t<path d=\"M60.6568542,85.6568542 L76.6568542,69.6568543 L65.3431458,69.6568542 L81.3431458,85.6568542 C84.4673401,88.7810486 89.5326599,88.7810486 92.6568542,85.6568542 C95.7810486,82.5326599 95.7810486,77.4673401 92.6568542,74.3431458 L76.6568542,58.3431458 C73.5326599,55.2189514 68.4673401,55.2189514 65.3431458,58.3431457 L49.3431458,74.3431457 C46.2189514,77.4673401 46.2189514,82.5326599 49.3431457,85.6568542 C52.4673401,88.7810486 57.5326599,88.7810486 60.6568542,85.6568542 L60.6568542,85.6568542 Z\" transform=\"translate(71.000000, 72.000000) rotate(-90.000000) translate(-71.000000, -72.000000) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n </g>\n</svg>"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n </g>\n</svg>"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/erase": {
"title": "$:/core/images/erase",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-erase tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.0870401,127.996166 L123.102318,64.980888 C129.636723,58.4464827 129.629513,47.8655877 123.098967,41.3350425 L99.4657866,17.7018617 C92.927448,11.1635231 82.3486358,11.1698163 75.8199411,17.698511 L4.89768189,88.6207702 C-1.63672343,95.1551755 -1.6295126,105.736071 4.90103262,112.266616 L20.6305829,127.996166 L60.0870401,127.996166 Z M25.1375576,120.682546 L10.812569,106.357558 C7.5455063,103.090495 7.54523836,97.793808 10.8048093,94.5342371 L46.2691086,59.0699377 L81.7308914,94.5317205 L55.5800654,120.682546 L25.1375576,120.682546 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/excise": {
"title": "$:/core/images/excise",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-excise tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,107.313709 L53.6568542,109.656854 C50.5326599,112.781049 45.4673401,112.781049 42.3431457,109.656854 C39.2189514,106.53266 39.2189514,101.46734 42.3431458,98.3431457 L58.3431458,82.3431457 C61.4673401,79.2189514 66.5326599,79.2189514 69.6568542,82.3431458 L85.6568542,98.3431458 C88.7810486,101.46734 88.7810486,106.53266 85.6568542,109.656854 C82.5326599,112.781049 77.4673401,112.781049 74.3431458,109.656854 L72,107.313708 L72,121.597798 C72,125.133636 68.418278,128 64,128 C59.581722,128 56,125.133636 56,121.597798 L56,107.313709 Z M0,40.0070969 C0,35.5848994 3.59071231,32 8,32 C12.418278,32 16,35.5881712 16,40.0070969 L16,71.9929031 C16,76.4151006 12.4092877,80 8,80 C3.581722,80 0,76.4118288 0,71.9929031 L0,40.0070969 Z M32,40.0070969 C32,35.5848994 35.5907123,32 40,32 C44.418278,32 48,35.5881712 48,40.0070969 L48,71.9929031 C48,76.4151006 44.4092877,80 40,80 C35.581722,80 32,76.4118288 32,71.9929031 L32,40.0070969 Z M80,40.0070969 C80,35.5848994 83.5907123,32 88,32 C92.418278,32 96,35.5881712 96,40.0070969 L96,71.9929031 C96,76.4151006 92.4092877,80 88,80 C83.581722,80 80,76.4118288 80,71.9929031 L80,40.0070969 Z M56,8.00709688 C56,3.58489938 59.5907123,0 64,0 C68.418278,0 72,3.58817117 72,8.00709688 L72,39.9929031 C72,44.4151006 68.4092877,48 64,48 C59.581722,48 56,44.4118288 56,39.9929031 L56,8.00709688 Z M112,40.0070969 C112,35.5848994 115.590712,32 120,32 C124.418278,32 128,35.5881712 128,40.0070969 L128,71.9929031 C128,76.4151006 124.409288,80 120,80 C115.581722,80 112,76.4118288 112,71.9929031 L112,40.0070969 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/file": {
"title": "$:/core/images/file",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-file tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M111.96811,30.5 L112,30.5 L112,119.999079 C112,124.417866 108.419113,128 104.000754,128 L23.9992458,128 C19.5813843,128 16,124.417687 16,119.999079 L16,8.00092105 C16,3.58213437 19.5808867,0 23.9992458,0 L81,0 L81,0.0201838424 C83.1589869,-0.071534047 85.3482153,0.707077645 86.9982489,2.35711116 L109.625176,24.9840387 C111.151676,26.510538 111.932942,28.4998414 111.96811,30.5 L111.96811,30.5 Z M81,8 L24,8 L24,120 L104,120 L104,30.5 L89.0003461,30.5 C84.5818769,30.5 81,26.9216269 81,22.4996539 L81,8 Z\"></path>\n <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"68\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"84\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"100\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/fixed-height": {
"title": "$:/core/images/fixed-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fixed-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60,35.6568542 L50.8284271,44.8284271 C49.26633,46.3905243 46.73367,46.3905243 45.1715729,44.8284271 C43.6094757,43.26633 43.6094757,40.73367 45.1715729,39.1715729 L61.1715729,23.1715729 C62.73367,21.6094757 65.2663299,21.6094757 66.8284271,23.1715728 L82.8284278,39.1715728 C84.390525,40.7336699 84.390525,43.2663299 82.8284279,44.8284271 C81.2663308,46.3905243 78.7336709,46.3905243 77.1715737,44.8284272 L68,35.6568539 L68,93.3431461 L77.1715737,84.1715728 C78.7336709,82.6094757 81.2663308,82.6094757 82.8284279,84.1715729 C84.390525,85.7336701 84.390525,88.2663301 82.8284278,89.8284272 L66.8284271,105.828427 C65.2663299,107.390524 62.73367,107.390524 61.1715729,105.828427 L45.1715729,89.8284271 C43.6094757,88.26633 43.6094757,85.73367 45.1715729,84.1715729 C46.73367,82.6094757 49.26633,82.6094757 50.8284271,84.1715729 L60,93.3431458 L60,35.6568542 L60,35.6568542 Z M16,116 L112,116 C114.209139,116 116,114.209139 116,112 C116,109.790861 114.209139,108 112,108 L16,108 C13.790861,108 12,109.790861 12,112 C12,114.209139 13.790861,116 16,116 L16,116 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-all-button": {
"title": "$:/core/images/fold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,58.6235628 C61.9791013,58.6242848 59.9275217,57.8435723 58.3632024,56.279253 L35.7458219,33.6618725 C32.6211696,30.5372202 32.6166093,25.4673401 35.7408036,22.3431458 C38.8586409,19.2253085 43.9325646,19.2211982 47.0595304,22.348164 L64.0250749,39.3137085 L80.9906194,22.348164 C84.1152717,19.2235117 89.1851518,19.2189514 92.3093461,22.3431458 C95.4271834,25.460983 95.4312937,30.5349067 92.3043279,33.6618725 L69.6869474,56.279253 C68.1237851,57.8424153 66.0737951,58.6247195 64.0241231,58.6250809 Z\" transform=\"translate(64.024316, 39.313708) scale(1, -1) translate(-64.024316, -39.313708) \"></path>\n <path d=\"M64.0292774,123.621227 C61.9791013,123.621949 59.9275217,122.841236 58.3632024,121.276917 L35.7458219,98.6595365 C32.6211696,95.5348842 32.6166093,90.4650041 35.7408036,87.3408098 C38.8586409,84.2229725 43.9325646,84.2188622 47.0595304,87.345828 L64.0250749,104.311373 L80.9906194,87.345828 C84.1152717,84.2211757 89.1851518,84.2166154 92.3093461,87.3408098 C95.4271834,90.458647 95.4312937,95.5325707 92.3043279,98.6595365 L69.6869474,121.276917 C68.1237851,122.840079 66.0737951,123.622383 64.0241231,123.622745 Z\" transform=\"translate(64.024316, 104.311372) scale(1, -1) translate(-64.024316, -104.311372) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-button": {
"title": "$:/core/images/fold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,63.6235628 C61.9791013,63.6242848 59.9275217,62.8435723 58.3632024,61.279253 L35.7458219,38.6618725 C32.6211696,35.5372202 32.6166093,30.4673401 35.7408036,27.3431458 C38.8586409,24.2253085 43.9325646,24.2211982 47.0595304,27.348164 L64.0250749,44.3137085 L80.9906194,27.348164 C84.1152717,24.2235117 89.1851518,24.2189514 92.3093461,27.3431458 C95.4271834,30.460983 95.4312937,35.5349067 92.3043279,38.6618725 L69.6869474,61.279253 C68.1237851,62.8424153 66.0737951,63.6247195 64.0241231,63.6250809 Z\" transform=\"translate(64.024316, 44.313708) scale(1, -1) translate(-64.024316, -44.313708) \"></path>\n <path d=\"M64.0049614,105.998482 C61.9547853,105.999204 59.9032057,105.218491 58.3388864,103.654172 L35.7215059,81.0367916 C32.5968535,77.9121393 32.5922933,72.8422592 35.7164876,69.7180649 C38.8343248,66.6002276 43.9082485,66.5961173 47.0352144,69.7230831 L64.0007589,86.6886276 L80.9663034,69.7230831 C84.0909557,66.5984308 89.1608358,66.5938705 92.2850301,69.7180649 C95.4028673,72.8359021 95.4069777,77.9098258 92.2800119,81.0367916 L69.6626314,103.654172 C68.099469,105.217334 66.0494791,105.999639 63.999807,106 Z\" transform=\"translate(64.000000, 86.688628) scale(1, -1) translate(-64.000000, -86.688628) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-others-button": {
"title": "$:/core/images/fold-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-others tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"56.0314331\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M101.657101,104.948818 C100.207918,103.498614 98.2051847,102.599976 95.9929031,102.599976 L72,102.599976 L72,78.6070725 C72,76.3964271 71.1036108,74.3936927 69.6545293,72.9441002 L69.6571005,72.9488183 C68.2079177,71.4986143 66.2051847,70.5999756 63.9929031,70.5999756 L32.0070969,70.5999756 C27.5881712,70.5999756 24,74.1816976 24,78.5999756 C24,83.0092633 27.5848994,86.5999756 32.0070969,86.5999756 L56,86.5999756 L56,110.592879 C56,112.803524 56.8963895,114.806259 58.3454713,116.255852 L58.3429,116.251133 C59.7920828,117.701337 61.7948156,118.599976 64.0070969,118.599976 L88,118.599976 L88,142.592879 C88,147.011804 91.581722,150.599976 96,150.599976 C100.409288,150.599976 104,147.015076 104,142.592879 L104,110.607072 C104,108.396427 103.103611,106.393693 101.654529,104.9441 Z\" transform=\"translate(64.000000, 110.599976) rotate(-45.000000) translate(-64.000000, -110.599976) \"></path>\n <path d=\"M101.725643,11.7488671 C100.27646,10.2986632 98.2737272,9.40002441 96.0614456,9.40002441 L72.0685425,9.40002441 L72.0685425,-14.5928787 C72.0685425,-16.8035241 71.1721533,-18.8062584 69.7230718,-20.255851 L69.725643,-20.2511329 C68.2764602,-21.7013368 66.2737272,-22.5999756 64.0614456,-22.5999756 L32.0756394,-22.5999756 C27.6567137,-22.5999756 24.0685425,-19.0182536 24.0685425,-14.5999756 C24.0685425,-10.1906879 27.6534419,-6.59997559 32.0756394,-6.59997559 L56.0685425,-6.59997559 L56.0685425,17.3929275 C56.0685425,19.6035732 56.964932,21.6063078 58.4140138,23.0559004 L58.4114425,23.0511823 C59.8606253,24.5013859 61.8633581,25.4000244 64.0756394,25.4000244 L88.0685425,25.4000244 L88.0685425,49.3929275 C88.0685425,53.8118532 91.6502645,57.4000244 96.0685425,57.4000244 C100.47783,57.4000244 104.068542,53.815125 104.068542,49.3929275 L104.068542,17.4071213 C104.068542,15.1964759 103.172153,13.1937416 101.723072,11.744149 Z\" transform=\"translate(64.068542, 17.400024) scale(1, -1) rotate(-45.000000) translate(-64.068542, -17.400024) \"></path>\n </g>\n</svg>"
},
"$:/core/images/folder": {
"title": "$:/core/images/folder",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-folder tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.6943257,128.000004 L7.99859666,128.000004 C3.5810937,128.000004 0,124.413822 0,119.996384 L0,48.0036243 C0,43.5833471 3.58387508,40.0000044 7.99859666,40.0000044 L16,40.0000044 L16,31.9999914 C16,27.5817181 19.5783731,24 24.0003461,24 L55.9996539,24 C60.4181231,24 64,27.5800761 64,31.9999914 L64,40.0000044 L104.001403,40.0000044 C108.418906,40.0000044 112,43.5861868 112,48.0036243 L112,59.8298353 L104,59.7475921 L104,51.9994189 C104,49.7887607 102.207895,48.0000044 99.9972215,48.0000044 L56,48.0000044 L56,36.0000255 C56,33.7898932 54.2072328,32 51.9957423,32 L28.0042577,32 C25.7890275,32 24,33.7908724 24,36.0000255 L24,48.0000044 L12.0027785,48.0000044 C9.78987688,48.0000044 8,49.7906032 8,51.9994189 L8,116.00059 C8,118.211248 9.79210499,120.000004 12.0027785,120.000004 L58.7630167,120.000004 L55.6943257,128.000004 L55.6943257,128.000004 Z\"></path>\n <path d=\"M23.8728955,55.5 L119.875702,55.5 C124.293205,55.5 126.87957,59.5532655 125.650111,64.5630007 L112.305967,118.936999 C111.077582,123.942356 106.497904,128 102.083183,128 L6.08037597,128 C1.66287302,128 -0.923492342,123.946735 0.305967145,118.936999 L13.650111,64.5630007 C14.878496,59.5576436 19.4581739,55.5 23.8728955,55.5 L23.8728955,55.5 L23.8728955,55.5 Z M25.6530124,64 L113.647455,64 C115.858129,64 117.151473,66.0930612 116.538306,68.6662267 L105.417772,115.333773 C104.803671,117.910859 102.515967,120 100.303066,120 L12.3086228,120 C10.0979492,120 8.8046054,117.906939 9.41777189,115.333773 L20.5383062,68.6662267 C21.1524069,66.0891409 23.4401107,64 25.6530124,64 L25.6530124,64 L25.6530124,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g>\n <g>\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n </g>\n</svg>"
},
"$:/core/images/github": {
"title": "$:/core/images/github",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-github tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M63.9383506,1.60695328 C28.6017227,1.60695328 -0.055756057,30.2970814 -0.055756057,65.6906208 C-0.055756057,94.003092 18.2804728,118.019715 43.7123154,126.493393 C46.9143781,127.083482 48.0812647,125.104717 48.0812647,123.405261 C48.0812647,121.886765 48.02626,117.85449 47.9948287,112.508284 C30.1929317,116.379268 26.4368926,103.916587 26.4368926,103.916587 C23.5255693,96.5129372 19.3294921,94.5420399 19.3294921,94.5420399 C13.5186324,90.5687739 19.7695302,90.6474524 19.7695302,90.6474524 C26.1933001,91.099854 29.5721638,97.2525155 29.5721638,97.2525155 C35.2808718,107.044059 44.5531024,104.215566 48.1991321,102.575118 C48.7806109,98.4366275 50.4346826,95.612068 52.2616263,94.0109598 C38.0507543,92.3941159 23.1091047,86.8944862 23.1091047,62.3389152 C23.1091047,55.3443933 25.6039634,49.6205298 29.6978889,45.1437211 C29.0378318,43.5229433 26.8415704,37.0044266 30.3265147,28.1845627 C30.3265147,28.1845627 35.6973364,26.4615028 47.9241083,34.7542205 C53.027764,33.330139 58.5046663,32.6220321 63.9462084,32.5944947 C69.3838216,32.6220321 74.856795,33.330139 79.9683085,34.7542205 C92.1872225,26.4615028 97.5501864,28.1845627 97.5501864,28.1845627 C101.042989,37.0044266 98.8467271,43.5229433 98.190599,45.1437211 C102.292382,49.6205298 104.767596,55.3443933 104.767596,62.3389152 C104.767596,86.9574291 89.8023734,92.3744463 75.5482834,93.9598188 C77.8427675,95.9385839 79.8897303,99.8489072 79.8897303,105.828476 C79.8897303,114.392635 79.8111521,121.304544 79.8111521,123.405261 C79.8111521,125.120453 80.966252,127.114954 84.2115327,126.489459 C109.623731,117.996111 127.944244,93.9952241 127.944244,65.6906208 C127.944244,30.2970814 99.2867652,1.60695328 63.9383506,1.60695328\"></path>\n </g>\n </svg>\n"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-1": {
"title": "$:/core/images/heading-1",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M14,30 L27.25,30 L27.25,60.104 L61.7,60.104 L61.7,30 L74.95,30 L74.95,105.684 L61.7,105.684 L61.7,71.552 L27.25,71.552 L27.25,105.684 L14,105.684 L14,30 Z M84.3350766,43.78 C86.8790893,43.78 89.3523979,43.5680021 91.7550766,43.144 C94.1577553,42.7199979 96.3307336,42.0133383 98.2740766,41.024 C100.21742,40.0346617 101.87807,38.7626744 103.256077,37.208 C104.634084,35.6533256 105.535075,33.7453446 105.959077,31.484 L115.817077,31.484 L115.817077,105.684 L102.567077,105.684 L102.567077,53.32 L84.3350766,53.32 L84.3350766,43.78 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-2": {
"title": "$:/core/images/heading-2",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-2 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M125.519077,105.684 L74.8510766,105.684 C74.9217436,99.5359693 76.4057288,94.1653563 79.3030766,89.572 C82.2004244,84.9786437 86.1577182,80.986017 91.1750766,77.594 C93.5777553,75.8273245 96.0863969,74.113675 98.7010766,72.453 C101.315756,70.792325 103.718399,69.0080095 105.909077,67.1 C108.099754,65.1919905 109.901736,63.1250111 111.315077,60.899 C112.728417,58.6729889 113.47041,56.1113478 113.541077,53.214 C113.541077,51.8713266 113.382078,50.4403409 113.064077,48.921 C112.746075,47.4016591 112.127748,45.9883399 111.209077,44.681 C110.290405,43.3736601 109.018418,42.2783377 107.393077,41.395 C105.767735,40.5116622 103.647756,40.07 101.033077,40.07 C98.6303979,40.07 96.6340846,40.5469952 95.0440766,41.501 C93.4540687,42.4550048 92.1820814,43.762325 91.2280766,45.423 C90.2740719,47.083675 89.5674123,49.0446554 89.1080766,51.306 C88.648741,53.5673446 88.3837436,56.0053203 88.3130766,58.62 L76.2290766,58.62 C76.2290766,54.5213128 76.7767378,50.7230175 77.8720766,47.225 C78.9674154,43.7269825 80.610399,40.7060127 82.8010766,38.162 C84.9917542,35.6179873 87.6593942,33.6216739 90.8040766,32.173 C93.948759,30.7243261 97.6057224,30 101.775077,30 C106.297766,30 110.078395,30.7419926 113.117077,32.226 C116.155758,33.7100074 118.611401,35.5826554 120.484077,37.844 C122.356753,40.1053446 123.681739,42.5609868 124.459077,45.211 C125.236414,47.8610133 125.625077,50.3873213 125.625077,52.79 C125.625077,55.7580148 125.165748,58.4433213 124.247077,60.846 C123.328405,63.2486787 122.091751,65.4569899 120.537077,67.471 C118.982402,69.4850101 117.215753,71.3399915 115.237077,73.036 C113.2584,74.7320085 111.209087,76.3219926 109.089077,77.806 C106.969066,79.2900074 104.849087,80.7033266 102.729077,82.046 C100.609066,83.3886734 98.6480856,84.7313266 96.8460766,86.074 C95.0440676,87.4166734 93.47175,88.8123261 92.1290766,90.261 C90.7864032,91.7096739 89.8677458,93.2466585 89.3730766,94.872 L125.519077,94.872 L125.519077,105.684 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-3": {
"title": "$:/core/images/heading-3",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-3 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M94.8850766,62.224 C96.8637532,62.294667 98.8424001,62.1533351 100.821077,61.8 C102.799753,61.4466649 104.566402,60.8283378 106.121077,59.945 C107.675751,59.0616623 108.930072,57.8426744 109.884077,56.288 C110.838081,54.7333256 111.315077,52.8253446 111.315077,50.564 C111.315077,47.3839841 110.237421,44.8400095 108.082077,42.932 C105.926733,41.0239905 103.153094,40.07 99.7610766,40.07 C97.641066,40.07 95.8037511,40.4939958 94.2490766,41.342 C92.6944022,42.1900042 91.4047484,43.3383261 90.3800766,44.787 C89.3554048,46.2356739 88.5957458,47.860991 88.1010766,49.663 C87.6064075,51.465009 87.3944096,53.3199905 87.4650766,55.228 L75.3810766,55.228 C75.5224107,51.623982 76.1937373,48.2850154 77.3950766,45.211 C78.596416,42.1369846 80.2393995,39.4693446 82.3240766,37.208 C84.4087537,34.9466554 86.9350618,33.1800064 89.9030766,31.908 C92.8710915,30.6359936 96.2277246,30 99.9730766,30 C102.870424,30 105.714729,30.4239958 108.506077,31.272 C111.297424,32.1200042 113.806065,33.3566585 116.032077,34.982 C118.258088,36.6073415 120.042403,38.6743208 121.385077,41.183 C122.72775,43.6916792 123.399077,46.5713171 123.399077,49.822 C123.399077,53.5673521 122.551085,56.8356527 120.855077,59.627 C119.159068,62.4183473 116.509095,64.4499936 112.905077,65.722 L112.905077,65.934 C117.145098,66.7820042 120.448731,68.8843166 122.816077,72.241 C125.183422,75.5976835 126.367077,79.6786426 126.367077,84.484 C126.367077,88.017351 125.660417,91.1796527 124.247077,93.971 C122.833736,96.7623473 120.925755,99.129657 118.523077,101.073 C116.120398,103.016343 113.329093,104.517995 110.149077,105.578 C106.969061,106.638005 103.612428,107.168 100.079077,107.168 C95.7683884,107.168 92.005426,106.549673 88.7900766,105.313 C85.5747272,104.076327 82.8894207,102.327345 80.7340766,100.066 C78.5787325,97.8046554 76.9357489,95.0840159 75.8050766,91.904 C74.6744043,88.7239841 74.0737436,85.1906861 74.0030766,81.304 L86.0870766,81.304 C85.9457426,85.8266893 87.0587315,89.5896517 89.4260766,92.593 C91.7934218,95.5963483 95.3443863,97.098 100.079077,97.098 C104.107097,97.098 107.481396,95.9496782 110.202077,93.653 C112.922757,91.3563219 114.283077,88.0880212 114.283077,83.848 C114.283077,80.9506522 113.717749,78.6540085 112.587077,76.958 C111.456404,75.2619915 109.972419,73.9723378 108.135077,73.089 C106.297734,72.2056623 104.230755,71.6580011 101.934077,71.446 C99.6373985,71.2339989 97.2877553,71.163333 94.8850766,71.234 L94.8850766,62.224 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-4": {
"title": "$:/core/images/heading-4",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-4 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8,30 L21.25,30 L21.25,60.104 L55.7,60.104 L55.7,30 L68.95,30 L68.95,105.684 L55.7,105.684 L55.7,71.552 L21.25,71.552 L21.25,105.684 L8,105.684 L8,30 Z M84.5890766,78.548 L107.061077,78.548 L107.061077,45.9 L106.849077,45.9 L84.5890766,78.548 Z M128.049077,88.088 L118.509077,88.088 L118.509077,105.684 L107.061077,105.684 L107.061077,88.088 L75.2610766,88.088 L75.2610766,76.11 L107.061077,31.484 L118.509077,31.484 L118.509077,78.548 L128.049077,78.548 L128.049077,88.088 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-5": {
"title": "$:/core/images/heading-5",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-5 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M83.7550766,31.484 L122.127077,31.484 L122.127077,42.296 L92.7650766,42.296 L88.9490766,61.164 L89.1610766,61.376 C90.7864181,59.5386575 92.8533974,58.1430048 95.3620766,57.189 C97.8707558,56.2349952 100.361731,55.758 102.835077,55.758 C106.509762,55.758 109.795729,56.3763272 112.693077,57.613 C115.590424,58.8496729 118.0284,60.5809889 120.007077,62.807 C121.985753,65.0330111 123.487405,67.6653181 124.512077,70.704 C125.536748,73.7426819 126.049077,77.028649 126.049077,80.562 C126.049077,83.5300148 125.572081,86.5863176 124.618077,89.731 C123.664072,92.8756824 122.144754,95.7376538 120.060077,98.317 C117.9754,100.896346 115.30776,103.016325 112.057077,104.677 C108.806394,106.337675 104.919766,107.168 100.397077,107.168 C96.7930586,107.168 93.454092,106.691005 90.3800766,105.737 C87.3060613,104.782995 84.6030883,103.35201 82.2710766,101.444 C79.939065,99.5359905 78.0840835,97.1863473 76.7060766,94.395 C75.3280697,91.6036527 74.5684107,88.3353521 74.4270766,84.59 L86.5110766,84.59 C86.8644117,88.6180201 88.2423979,91.7096559 90.6450766,93.865 C93.0477553,96.0203441 96.2277235,97.098 100.185077,97.098 C102.729089,97.098 104.884401,96.6740042 106.651077,95.826 C108.417752,94.9779958 109.848738,93.8120074 110.944077,92.328 C112.039415,90.8439926 112.816741,89.1126766 113.276077,87.134 C113.735412,85.1553234 113.965077,83.0353446 113.965077,80.774 C113.965077,78.7246564 113.682413,76.763676 113.117077,74.891 C112.55174,73.018324 111.703749,71.3753404 110.573077,69.962 C109.442404,68.5486596 107.976086,67.4180042 106.174077,66.57 C104.372068,65.7219958 102.269755,65.298 99.8670766,65.298 C97.3230639,65.298 94.9380878,65.7749952 92.7120766,66.729 C90.4860655,67.6830048 88.8784149,69.4673203 87.8890766,72.082 L75.8050766,72.082 L83.7550766,31.484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-6": {
"title": "$:/core/images/heading-6",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-6 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M112.587077,50.246 C112.304409,47.2073181 111.226753,44.751676 109.354077,42.879 C107.481401,41.006324 104.955093,40.07 101.775077,40.07 C99.584399,40.07 97.6940846,40.4763293 96.1040766,41.289 C94.5140687,42.1016707 93.1714154,43.1793266 92.0760766,44.522 C90.9807378,45.8646734 90.0974133,47.401658 89.4260766,49.133 C88.7547399,50.864342 88.2070787,52.6839905 87.7830766,54.592 C87.3590745,56.5000095 87.0587442,58.390324 86.8820766,60.263 C86.7054091,62.135676 86.5464107,63.8846585 86.4050766,65.51 L86.6170766,65.722 C88.2424181,62.7539852 90.4860623,60.5456739 93.3480766,59.097 C96.2100909,57.6483261 99.3017267,56.924 102.623077,56.924 C106.297762,56.924 109.583729,57.5599936 112.481077,58.832 C115.378424,60.1040064 117.834067,61.8529889 119.848077,64.079 C121.862087,66.3050111 123.399071,68.9373181 124.459077,71.976 C125.519082,75.0146819 126.049077,78.300649 126.049077,81.834 C126.049077,85.438018 125.466082,88.7769846 124.300077,91.851 C123.134071,94.9250154 121.455754,97.6103219 119.265077,99.907 C117.074399,102.203678 114.459758,103.987994 111.421077,105.26 C108.382395,106.532006 105.025762,107.168 101.351077,107.168 C95.9097161,107.168 91.4400941,106.16101 87.9420766,104.147 C84.4440591,102.13299 81.6880867,99.3770175 79.6740766,95.879 C77.6600666,92.3809825 76.2644138,88.2823568 75.4870766,83.583 C74.7097394,78.8836432 74.3210766,73.8133605 74.3210766,68.372 C74.3210766,63.9199777 74.7980719,59.4326893 75.7520766,54.91 C76.7060814,50.3873107 78.278399,46.2710186 80.4690766,42.561 C82.6597542,38.8509815 85.5393921,35.8300117 89.1080766,33.498 C92.6767611,31.1659883 97.0757171,30 102.305077,30 C105.273091,30 108.064397,30.4946617 110.679077,31.484 C113.293756,32.4733383 115.608067,33.8513245 117.622077,35.618 C119.636087,37.3846755 121.27907,39.5046543 122.551077,41.978 C123.823083,44.4513457 124.529743,47.2073181 124.671077,50.246 L112.587077,50.246 Z M100.927077,97.098 C103.117754,97.098 105.025735,96.6563378 106.651077,95.773 C108.276418,94.8896623 109.636738,93.7413404 110.732077,92.328 C111.827415,90.9146596 112.640074,89.271676 113.170077,87.399 C113.700079,85.526324 113.965077,83.6006766 113.965077,81.622 C113.965077,79.6433234 113.700079,77.7353425 113.170077,75.898 C112.640074,74.0606575 111.827415,72.4530069 110.732077,71.075 C109.636738,69.6969931 108.276418,68.5840042 106.651077,67.736 C105.025735,66.8879958 103.117754,66.464 100.927077,66.464 C98.736399,66.464 96.8107516,66.8703293 95.1500766,67.683 C93.4894017,68.4956707 92.0937489,69.5909931 90.9630766,70.969 C89.8324043,72.3470069 88.9844128,73.9546575 88.4190766,75.792 C87.8537405,77.6293425 87.5710766,79.5726564 87.5710766,81.622 C87.5710766,83.6713436 87.8537405,85.6146575 88.4190766,87.452 C88.9844128,89.2893425 89.8324043,90.9323261 90.9630766,92.381 C92.0937489,93.8296739 93.4894017,94.9779958 95.1500766,95.826 C96.8107516,96.6740042 98.736399,97.098 100.927077,97.098 L100.927077,97.098 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/help": {
"title": "$:/core/images/help",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-help tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M36.0548906,111.44117 C30.8157418,115.837088 20.8865444,118.803477 9.5,118.803477 C7.86465619,118.803477 6.25937294,118.742289 4.69372699,118.624467 C12.612543,115.984876 18.7559465,110.02454 21.0611049,102.609942 C8.74739781,92.845129 1.04940554,78.9359851 1.04940554,63.5 C1.04940554,33.9527659 29.2554663,10 64.0494055,10 C98.8433448,10 127.049406,33.9527659 127.049406,63.5 C127.049406,93.0472341 98.8433448,117 64.0494055,117 C53.9936953,117 44.48824,114.999337 36.0548906,111.44117 L36.0548906,111.44117 Z M71.4042554,77.5980086 C71.406883,77.2865764 71.4095079,76.9382011 71.4119569,76.5610548 C71.4199751,75.3262169 71.4242825,74.0811293 71.422912,72.9158546 C71.4215244,71.736154 71.4143321,70.709635 71.4001396,69.8743525 C71.4078362,68.5173028 71.9951951,67.7870427 75.1273009,65.6385471 C75.2388969,65.5619968 76.2124091,64.8981068 76.5126553,64.6910879 C79.6062455,62.5580654 81.5345849,60.9050204 83.2750652,58.5038955 C85.6146327,55.2762841 86.8327108,51.426982 86.8327108,46.8554323 C86.8327108,33.5625756 76.972994,24.9029551 65.3778484,24.9029551 C54.2752771,24.9029551 42.8794554,34.5115163 41.3121702,47.1975534 C40.9043016,50.4989536 43.2499725,53.50591 46.5513726,53.9137786 C49.8527728,54.3216471 52.8597292,51.9759763 53.2675978,48.6745761 C54.0739246,42.1479456 60.2395837,36.9492759 65.3778484,36.9492759 C70.6427674,36.9492759 74.78639,40.5885487 74.78639,46.8554323 C74.78639,50.4892974 73.6853224,52.008304 69.6746221,54.7736715 C69.4052605,54.9593956 68.448509,55.6118556 68.3131127,55.7047319 C65.6309785,57.5445655 64.0858213,58.803255 62.6123358,60.6352315 C60.5044618,63.2559399 59.3714208,66.3518252 59.3547527,69.9487679 C59.3684999,70.8407274 59.3752803,71.8084521 59.3765995,72.9300232 C59.3779294,74.0607297 59.3737237,75.2764258 59.36589,76.482835 C59.3634936,76.8518793 59.3609272,77.1924914 59.3583633,77.4963784 C59.3568319,77.6778944 59.3556368,77.8074256 59.3549845,77.8730928 C59.3219814,81.1994287 61.9917551,83.9227111 65.318091,83.9557142 C68.644427,83.9887173 71.3677093,81.3189435 71.4007124,77.9926076 C71.4014444,77.9187458 71.402672,77.7856841 71.4042554,77.5980086 Z M65.3778489,102.097045 C69.5359735,102.097045 72.9067994,98.7262189 72.9067994,94.5680944 C72.9067994,90.4099698 69.5359735,87.0391439 65.3778489,87.0391439 C61.2197243,87.0391439 57.8488984,90.4099698 57.8488984,94.5680944 C57.8488984,98.7262189 61.2197243,102.097045 65.3778489,102.097045 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <g transform=\"translate(0.049406, 0.000000)\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/italic": {
"title": "$:/core/images/italic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-italic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <polygon points=\"66.7114846 0 89.1204482 0 62.4089636 128 40 128\"></polygon>\n </g>\n</svg>"
},
"$:/core/images/left-arrow": {
"created": "20150315234410875",
"modified": "20150315235324760",
"tags": "$:/tags/Image",
"title": "$:/core/images/left-arrow",
"text": "<svg class=\"tc-image-left-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path transform=\"rotate(135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25075c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056z\"/>\n</svg>\n"
},
"$:/core/images/line-width": {
"title": "$:/core/images/line-width",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-line-width tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128,-97 L112.992786,-97 C112.452362,-97 112,-96.5522847 112,-96 C112,-95.4438648 112.444486,-95 112.992786,-95 L128,-95 L128,-97 Z M128,-78.6794919 L111.216185,-88.3696322 C110.748163,-88.6398444 110.132549,-88.4782926 109.856406,-88 C109.578339,-87.5183728 109.741342,-86.9117318 110.216185,-86.6375814 L128,-76.3700908 L128,-78.6794919 Z M78.6794919,-128 L88.3696322,-111.216185 C88.6437826,-110.741342 88.4816272,-110.134474 88,-109.856406 C87.5217074,-109.580264 86.9077936,-109.748163 86.6375814,-110.216185 L76.3700908,-128 L78.6794919,-128 Z M97,-128 L97,-112.992786 C97,-112.444486 96.5561352,-112 96,-112 C95.4477153,-112 95,-112.452362 95,-112.992786 L95,-128 L97,-128 Z M115.629909,-128 L105.362419,-110.216185 C105.088268,-109.741342 104.481627,-109.578339 104,-109.856406 C103.521707,-110.132549 103.360156,-110.748163 103.630368,-111.216185 L113.320508,-128 L115.629909,-128 Z M128,-113.320508 L111.216185,-103.630368 C110.741342,-103.356217 110.134474,-103.518373 109.856406,-104 C109.580264,-104.478293 109.748163,-105.092206 110.216185,-105.362419 L128,-115.629909 L128,-113.320508 Z M48,-96 C48,-96.5522847 48.4523621,-97 48.9927864,-97 L79.0072136,-97 C79.5555144,-97 80,-96.5561352 80,-96 C80,-95.4477153 79.5476379,-95 79.0072136,-95 L48.9927864,-95 C48.4444856,-95 48,-95.4438648 48,-96 Z M54.4307806,-120 C54.706923,-120.478293 55.3225377,-120.639844 55.7905589,-120.369632 L81.7838153,-105.362419 C82.2586577,-105.088268 82.4216611,-104.481627 82.1435935,-104 C81.8674512,-103.521707 81.2518365,-103.360156 80.7838153,-103.630368 L54.7905589,-118.637581 C54.3157165,-118.911732 54.152713,-119.518373 54.4307806,-120 Z M104,-82.1435935 C104.478293,-82.4197359 105.092206,-82.2518365 105.362419,-81.7838153 L120.369632,-55.7905589 C120.643783,-55.3157165 120.481627,-54.7088482 120,-54.4307806 C119.521707,-54.1546382 118.907794,-54.3225377 118.637581,-54.7905589 L103.630368,-80.7838153 C103.356217,-81.2586577 103.518373,-81.865526 104,-82.1435935 Z M96,-80 C96.5522847,-80 97,-79.5476379 97,-79.0072136 L97,-48.9927864 C97,-48.4444856 96.5561352,-48 96,-48 C95.4477153,-48 95,-48.4523621 95,-48.9927864 L95,-79.0072136 C95,-79.5555144 95.4438648,-80 96,-80 Z M88,-82.1435935 C88.4782926,-81.8674512 88.6398444,-81.2518365 88.3696322,-80.7838153 L73.3624186,-54.7905589 C73.0882682,-54.3157165 72.4816272,-54.152713 72,-54.4307806 C71.5217074,-54.706923 71.3601556,-55.3225377 71.6303678,-55.7905589 L86.6375814,-81.7838153 C86.9117318,-82.2586577 87.5183728,-82.4216611 88,-82.1435935 Z M82.1435935,-88 C82.4197359,-87.5217074 82.2518365,-86.9077936 81.7838153,-86.6375814 L55.7905589,-71.6303678 C55.3157165,-71.3562174 54.7088482,-71.5183728 54.4307806,-72 C54.1546382,-72.4782926 54.3225377,-73.0922064 54.7905589,-73.3624186 L80.7838153,-88.3696322 C81.2586577,-88.6437826 81.865526,-88.4816272 82.1435935,-88 Z M1.30626177e-08,-41.9868843 L15.0170091,-57.9923909 L20.7983821,-52.9749272 L44.7207091,-81.2095939 L73.4260467,-42.1002685 L85.984793,-56.6159488 L104.48741,-34.0310661 L127.969109,-47.4978019 L127.969109,7.99473128e-07 L1.30626177e-08,7.99473128e-07 L1.30626177e-08,-41.9868843 Z M96,-84 C102.627417,-84 108,-89.372583 108,-96 C108,-102.627417 102.627417,-108 96,-108 C89.372583,-108 84,-102.627417 84,-96 C84,-89.372583 89.372583,-84 96,-84 Z\"></path>\n <path d=\"M16,18 L112,18 C113.104569,18 114,17.1045695 114,16 C114,14.8954305 113.104569,14 112,14 L16,14 C14.8954305,14 14,14.8954305 14,16 C14,17.1045695 14.8954305,18 16,18 L16,18 Z M16,35 L112,35 C114.209139,35 116,33.209139 116,31 C116,28.790861 114.209139,27 112,27 L16,27 C13.790861,27 12,28.790861 12,31 C12,33.209139 13.790861,35 16,35 L16,35 Z M16,56 L112,56 C115.313708,56 118,53.3137085 118,50 C118,46.6862915 115.313708,44 112,44 L16,44 C12.6862915,44 10,46.6862915 10,50 C10,53.3137085 12.6862915,56 16,56 L16,56 Z M16,85 L112,85 C117.522847,85 122,80.5228475 122,75 C122,69.4771525 117.522847,65 112,65 L16,65 C10.4771525,65 6,69.4771525 6,75 C6,80.5228475 10.4771525,85 16,85 L16,85 Z M16,128 L112,128 C120.836556,128 128,120.836556 128,112 C128,103.163444 120.836556,96 112,96 L16,96 C7.163444,96 0,103.163444 0,112 C0,120.836556 7.163444,128 16,128 L16,128 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/link": {
"title": "$:/core/images/link",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-link tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128.719999,57.568543 C130.219553,53.8628171 131.045202,49.8121445 131.045202,45.5685425 C131.045202,27.8915447 116.718329,13.5685425 99.0452364,13.5685425 L67.0451674,13.5685425 C49.3655063,13.5685425 35.0452019,27.8954305 35.0452019,45.5685425 C35.0452019,63.2455403 49.3720745,77.5685425 67.0451674,77.5685425 L99.0452364,77.5685425 C100.406772,77.5685425 101.748384,77.4835732 103.065066,77.3186499 C96.4792444,73.7895096 91.1190212,68.272192 87.7873041,61.5685425 L67.0506214,61.5685425 C58.2110723,61.5685425 51.0452019,54.4070414 51.0452019,45.5685425 C51.0452019,36.7319865 58.2005234,29.5685425 67.0506214,29.5685425 L99.0397824,29.5685425 C107.879331,29.5685425 115.045202,36.7300436 115.045202,45.5685425 C115.045202,48.9465282 113.99957,52.0800164 112.21335,54.6623005 C114.314383,56.4735917 117.050039,57.5685425 120.041423,57.5685425 L128.720003,57.5685425 Z\" transform=\"translate(83.045202, 45.568542) rotate(-225.000000) translate(-83.045202, -45.568542)\"></path>\n <path d=\"M-0.106255113,71.0452019 C-1.60580855,74.7509276 -2.43145751,78.8016001 -2.43145751,83.0452019 C-2.43145751,100.7222 11.8954151,115.045202 29.568508,115.045202 L61.568577,115.045202 C79.2482381,115.045202 93.5685425,100.718314 93.5685425,83.0452019 C93.5685425,65.3682041 79.2416699,51.0452019 61.568577,51.0452019 L29.568508,51.0452019 C28.206973,51.0452019 26.8653616,51.1301711 25.5486799,51.2950943 C32.1345,54.8242347 37.4947231,60.3415524 40.8264403,67.0452019 L61.563123,67.0452019 C70.4026721,67.0452019 77.5685425,74.206703 77.5685425,83.0452019 C77.5685425,91.8817579 70.413221,99.0452019 61.563123,99.0452019 L29.573962,99.0452019 C20.7344129,99.0452019 13.5685425,91.8837008 13.5685425,83.0452019 C13.5685425,79.6672162 14.6141741,76.533728 16.4003949,73.9514439 C14.2993609,72.1401527 11.5637054,71.0452019 8.5723215,71.0452019 L-0.106255113,71.0452019 Z\" transform=\"translate(45.568542, 83.045202) rotate(-225.000000) translate(-45.568542, -83.045202)\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-bullet": {
"title": "$:/core/images/list-bullet",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-bullet tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M11.6363636,40.2727273 C18.0629498,40.2727273 23.2727273,35.0629498 23.2727273,28.6363636 C23.2727273,22.2097775 18.0629498,17 11.6363636,17 C5.20977746,17 0,22.2097775 0,28.6363636 C0,35.0629498 5.20977746,40.2727273 11.6363636,40.2727273 Z M11.6363636,75.1818182 C18.0629498,75.1818182 23.2727273,69.9720407 23.2727273,63.5454545 C23.2727273,57.1188684 18.0629498,51.9090909 11.6363636,51.9090909 C5.20977746,51.9090909 0,57.1188684 0,63.5454545 C0,69.9720407 5.20977746,75.1818182 11.6363636,75.1818182 Z M11.6363636,110.090909 C18.0629498,110.090909 23.2727273,104.881132 23.2727273,98.4545455 C23.2727273,92.0279593 18.0629498,86.8181818 11.6363636,86.8181818 C5.20977746,86.8181818 0,92.0279593 0,98.4545455 C0,104.881132 5.20977746,110.090909 11.6363636,110.090909 Z M34.9090909,22.8181818 L128,22.8181818 L128,34.4545455 L34.9090909,34.4545455 L34.9090909,22.8181818 Z M34.9090909,57.7272727 L128,57.7272727 L128,69.3636364 L34.9090909,69.3636364 L34.9090909,57.7272727 Z M34.9090909,92.6363636 L128,92.6363636 L128,104.272727 L34.9090909,104.272727 L34.9090909,92.6363636 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-number": {
"title": "$:/core/images/list-number",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-number tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M33.8390805,22.3563218 L128,22.3563218 L128,34.1264368 L33.8390805,34.1264368 L33.8390805,22.3563218 Z M33.8390805,57.6666667 L128,57.6666667 L128,69.4367816 L33.8390805,69.4367816 L33.8390805,57.6666667 Z M33.8390805,92.9770115 L128,92.9770115 L128,104.747126 L33.8390805,104.747126 L33.8390805,92.9770115 Z M0.379509711,42.6307008 L0.379509711,40.4082314 L1.37821948,40.4082314 C2.20382368,40.4082314 2.82301754,40.268077 3.23581964,39.9877642 C3.64862174,39.7074513 3.85501969,39.0400498 3.85501969,37.9855395 L3.85501969,22.7686318 C3.85501969,21.3270228 3.66193774,20.4327047 3.27576803,20.0856507 C2.88959832,19.7385967 1.79768657,19.5650723 0,19.5650723 L0,17.4226919 C3.50215975,17.2758613 6.25191314,16.4683055 8.24934266,15 L10.3666074,15 L10.3666074,37.865406 C10.3666074,38.786434 10.5164123,39.4404875 10.8160268,39.8275862 C11.1156412,40.2146849 11.764796,40.4082314 12.7635108,40.4082314 L13.7622206,40.4082314 L13.7622206,42.6307008 L0.379509711,42.6307008 Z M0.0798967812,77.9873934 L0.0798967812,76.0852799 C7.27064304,69.5312983 10.8659622,63.5046623 10.8659622,58.005191 C10.8659622,56.4434479 10.5397203,55.195407 9.88722667,54.2610308 C9.23473303,53.3266546 8.36253522,52.8594735 7.27060709,52.8594735 C6.3784219,52.8594735 5.61608107,53.1764892 4.98356173,53.8105302 C4.35104238,54.4445712 4.03478745,55.1753759 4.03478745,56.0029663 C4.03478745,56.9773871 4.28113339,57.8316611 4.77383268,58.5658139 C4.88036225,58.7259926 4.93362624,58.8461249 4.93362624,58.9262143 C4.93362624,59.0730449 4.77383427,59.2065252 4.45424555,59.3266593 C4.2411864,59.4067486 3.70188852,59.6336652 2.83633573,60.0074156 C1.99741533,60.3811661 1.47809145,60.5680386 1.2783485,60.5680386 C1.03865696,60.5680386 0.765679018,60.1976307 0.459406492,59.4568039 C0.153133966,58.715977 0,57.9184322 0,57.0641453 C0,55.1153036 0.848894811,53.5202138 2.5467099,52.2788283 C4.24452499,51.0374428 6.34512352,50.4167594 8.84856852,50.4167594 C11.3120649,50.4167594 13.3793735,51.0874979 15.0505562,52.4289952 C16.7217389,53.7704924 17.5573177,55.5224215 17.5573177,57.684835 C17.5573177,58.9662652 17.2743527,60.2076321 16.7084144,61.4089729 C16.142476,62.6103138 14.7875733,64.4623531 12.6436656,66.9651465 C10.4997579,69.4679398 8.40914641,71.7804862 6.3717683,73.902855 L17.8169822,73.902855 L16.7982982,79.6292176 L14.6810335,79.6292176 C14.7609307,79.3489048 14.8008787,79.0952922 14.8008787,78.8683723 C14.8008787,78.4812736 14.7010087,78.237672 14.5012658,78.1375603 C14.3015228,78.0374485 13.9020429,77.9873934 13.3028141,77.9873934 L0.0798967812,77.9873934 Z M12.2042333,97.1935484 C13.9486551,97.2335931 15.4400468,97.8309175 16.6784531,98.9855395 C17.9168594,100.140162 18.5360532,101.75861 18.5360532,103.840934 C18.5360532,106.830938 17.4041935,109.233584 15.14044,111.048943 C12.8766866,112.864303 10.1402492,113.771969 6.93104577,113.771969 C4.92030005,113.771969 3.26245842,113.388213 1.95747114,112.62069 C0.652483855,111.853166 0,110.848727 0,109.607341 C0,108.833144 0.26964894,108.209124 0.808954909,107.735261 C1.34826088,107.261399 1.93749375,107.024472 2.57667119,107.024472 C3.21584864,107.024472 3.73850152,107.224692 4.14464552,107.625139 C4.55078953,108.025586 4.92696644,108.67964 5.27318756,109.587319 C5.73925445,110.855401 6.51158227,111.489433 7.59019421,111.489433 C8.85523291,111.489433 9.87723568,111.012241 10.6562332,110.057842 C11.4352307,109.103444 11.8247236,107.371536 11.8247236,104.862069 C11.8247236,103.153495 11.7048796,101.838714 11.4651881,100.917686 C11.2254966,99.9966584 10.6728827,99.5361513 9.80732989,99.5361513 C9.22141723,99.5361513 8.62219737,99.843156 8.00965231,100.457175 C7.51695303,100.951059 7.07752513,101.197998 6.69135542,101.197998 C6.3584505,101.197998 6.08880156,101.051169 5.88240051,100.757508 C5.67599946,100.463847 5.57280049,100.183539 5.57280049,99.916574 C5.57280049,99.5962164 5.67599946,99.3225818 5.88240051,99.0956618 C6.08880156,98.8687419 6.57150646,98.5016711 7.33052967,97.9944383 C10.2068282,96.0722929 11.6449559,93.9766521 11.6449559,91.7074527 C11.6449559,90.5194601 11.3386879,89.615131 10.7261429,88.9944383 C10.1135978,88.3737455 9.37455999,88.0634038 8.5090072,88.0634038 C7.71003539,88.0634038 6.98431355,88.3270274 6.33181991,88.8542825 C5.67932627,89.3815377 5.35308434,90.0122321 5.35308434,90.7463849 C5.35308434,91.3871 5.60608828,91.9810874 6.11210376,92.5283648 C6.28521432,92.7285883 6.3717683,92.8954387 6.3717683,93.028921 C6.3717683,93.1490551 5.80250943,93.4560598 4.6639746,93.9499444 C3.52543978,94.4438289 2.80970494,94.6907675 2.51674861,94.6907675 C2.10394651,94.6907675 1.76771758,94.3570667 1.50805174,93.6896552 C1.24838591,93.0222436 1.11855494,92.4082342 1.11855494,91.8476085 C1.11855494,90.0989901 2.04734573,88.6240327 3.90495518,87.4226919 C5.76256463,86.2213511 7.86982116,85.6206897 10.226788,85.6206897 C12.2907985,85.6206897 14.0784711,86.0678487 15.5898594,86.9621802 C17.1012478,87.8565117 17.8569306,89.0778566 17.8569306,90.6262514 C17.8569306,91.987771 17.2876717,93.2491599 16.1491369,94.4104561 C15.0106021,95.5717522 13.6956474,96.4994404 12.2042333,97.1935484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/list": {
"title": "$:/core/images/list",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M0.719999312,185.568543 C2.21955287,181.862817 3.0452019,177.812144 3.0452019,173.568542 C3.0452019,155.891545 -11.2816707,141.568542 -28.9547636,141.568542 L-60.9548326,141.568542 C-78.6344937,141.568542 -92.9547981,155.895431 -92.9547981,173.568542 C-92.9547981,191.24554 -78.6279255,205.568542 -60.9548326,205.568542 L-28.9547636,205.568542 C-27.593228,205.568542 -26.2516158,205.483573 -24.9349335,205.31865 C-31.5207556,201.78951 -36.8809788,196.272192 -40.2126959,189.568542 L-60.9493786,189.568542 C-69.7889277,189.568542 -76.9547981,182.407041 -76.9547981,173.568542 C-76.9547981,164.731986 -69.7994766,157.568542 -60.9493786,157.568542 L-28.9602176,157.568542 C-20.1206685,157.568542 -12.9547981,164.730044 -12.9547981,173.568542 C-12.9547981,176.946528 -14.0004297,180.080016 -15.7866505,182.6623 C-13.6856165,184.473592 -10.949961,185.568542 -7.9585771,185.568542 L0.720002586,185.568542 Z\" transform=\"translate(-44.954798, 173.568542) rotate(-225.000000) translate(44.954798, -173.568542) \"></path>\n <path d=\"M87.7480315,128 L23.9992458,128 C19.5813843,128 16,124.409247 16,119.993027 L16,8.00697327 C16,3.58484404 19.5881049,0 23.9992458,0 L104.000754,0 C108.418616,0 112,3.59075293 112,8.00697327 L112,104 L91.2492027,104 C90.2848199,104 89.410573,104.391703 88.7768998,105.025201 C88.1373658,105.661376 87.7480315,106.53563 87.7480315,107.501171 L87.7480315,128 Z M95.7480315,127.879386 L111.627417,112 L95.7480315,112 L95.7480315,127.879386 Z M40,15.5089165 C40,13.5709954 41.5636015,12 43.4998101,12 L98.5001899,12 C100.433082,12 102,13.5614718 102,15.5089165 L102,16.4910835 C102,18.4290046 100.436399,20 98.5001899,20 L43.4998101,20 C41.5669183,20 40,18.4385282 40,16.4910835 L40,15.5089165 Z M32,22 C35.3137085,22 38,19.3137085 38,16 C38,12.6862915 35.3137085,10 32,10 C28.6862915,10 26,12.6862915 26,16 C26,19.3137085 28.6862915,22 32,22 Z M40,31.5089165 C40,29.5709954 41.5636015,28 43.4998101,28 L98.5001899,28 C100.433082,28 102,29.5614718 102,31.5089165 L102,32.4910835 C102,34.4290046 100.436399,36 98.5001899,36 L43.4998101,36 C41.5669183,36 40,34.4385282 40,32.4910835 L40,31.5089165 Z M40,47.5089165 C40,45.5709954 41.5636015,44 43.4998101,44 L98.5001899,44 C100.433082,44 102,45.5614718 102,47.5089165 L102,48.4910835 C102,50.4290046 100.436399,52 98.5001899,52 L43.4998101,52 C41.5669183,52 40,50.4385282 40,48.4910835 L40,47.5089165 Z M40,63.5089165 C40,61.5709954 41.5636015,60 43.4998101,60 L98.5001899,60 C100.433082,60 102,61.5614718 102,63.5089165 L102,64.4910835 C102,66.4290046 100.436399,68 98.5001899,68 L43.4998101,68 C41.5669183,68 40,66.4385282 40,64.4910835 L40,63.5089165 Z M40,79.5089165 C40,77.5709954 41.5636015,76 43.4998101,76 L98.5001899,76 C100.433082,76 102,77.5614718 102,79.5089165 L102,80.4910835 C102,82.4290046 100.436399,84 98.5001899,84 L43.4998101,84 C41.5669183,84 40,82.4385282 40,80.4910835 L40,79.5089165 Z M40,95.5089165 C40,93.5709954 41.5636015,92 43.4998101,92 L98.5001899,92 C100.433082,92 102,93.5614718 102,95.5089165 L102,96.4910835 C102,98.4290046 100.436399,100 98.5001899,100 L43.4998101,100 C41.5669183,100 40,98.4385282 40,96.4910835 L40,95.5089165 Z M40,111.508916 C40,109.570995 41.5680474,108 43.4972017,108 L76.5027983,108 C78.4342495,108 80,109.561472 80,111.508916 L80,112.491084 C80,114.429005 78.4319526,116 76.5027983,116 L43.4972017,116 C41.5657505,116 40,114.438528 40,112.491084 L40,111.508916 Z M32,38 C35.3137085,38 38,35.3137085 38,32 C38,28.6862915 35.3137085,26 32,26 C28.6862915,26 26,28.6862915 26,32 C26,35.3137085 28.6862915,38 32,38 Z M32,54 C35.3137085,54 38,51.3137085 38,48 C38,44.6862915 35.3137085,42 32,42 C28.6862915,42 26,44.6862915 26,48 C26,51.3137085 28.6862915,54 32,54 Z M32,70 C35.3137085,70 38,67.3137085 38,64 C38,60.6862915 35.3137085,58 32,58 C28.6862915,58 26,60.6862915 26,64 C26,67.3137085 28.6862915,70 32,70 Z M32,86 C35.3137085,86 38,83.3137085 38,80 C38,76.6862915 35.3137085,74 32,74 C28.6862915,74 26,76.6862915 26,80 C26,83.3137085 28.6862915,86 32,86 Z M32,102 C35.3137085,102 38,99.3137085 38,96 C38,92.6862915 35.3137085,90 32,90 C28.6862915,90 26,92.6862915 26,96 C26,99.3137085 28.6862915,102 32,102 Z M32,118 C35.3137085,118 38,115.313708 38,112 C38,108.686292 35.3137085,106 32,106 C28.6862915,106 26,108.686292 26,112 C26,115.313708 28.6862915,118 32,118 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mail": {
"title": "$:/core/images/mail",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mail tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M122.826782,104.894066 C121.945525,105.22777 120.990324,105.41043 119.993027,105.41043 L8.00697327,105.41043 C7.19458381,105.41043 6.41045219,105.289614 5.67161357,105.064967 L5.67161357,105.064967 L39.8346483,70.9019325 L60.6765759,91.7438601 C61.6118278,92.679112 62.8865166,93.0560851 64.0946097,92.8783815 C65.2975108,93.0473238 66.5641085,92.6696979 67.4899463,91.7438601 L88.5941459,70.6396605 C88.6693095,70.7292352 88.7490098,70.8162939 88.8332479,70.9005321 L122.826782,104.894066 Z M127.903244,98.6568194 C127.966933,98.2506602 128,97.8343714 128,97.4103789 L128,33.410481 C128,32.7414504 127.917877,32.0916738 127.763157,31.4706493 L94.2292399,65.0045665 C94.3188145,65.0797417 94.4058701,65.1594458 94.4901021,65.2436778 L127.903244,98.6568194 Z M0.205060636,99.2178117 C0.0709009529,98.6370366 0,98.0320192 0,97.4103789 L0,33.410481 C0,32.694007 0.0944223363,31.9995312 0.27147538,31.3387595 L0.27147538,31.3387595 L34.1777941,65.2450783 L0.205060636,99.2178117 L0.205060636,99.2178117 Z M5.92934613,25.6829218 C6.59211333,25.5051988 7.28862283,25.4104299 8.00697327,25.4104299 L119.993027,25.4104299 C120.759109,25.4104299 121.500064,25.5178649 122.201605,25.7184927 L122.201605,25.7184927 L64.0832611,83.8368368 L5.92934613,25.6829218 L5.92934613,25.6829218 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>"
},
"$:/core/images/mono-block": {
"title": "$:/core/images/mono-block",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-block tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M23.9653488,32.9670593 L24.3217888,32.9670593 C25.0766067,32.9670593 25.6497006,33.1592554 26.0410876,33.5436534 C26.4324747,33.9280514 26.6281653,34.4906619 26.6281653,35.2315017 C26.6281653,36.0562101 26.4219913,36.6502709 26.009637,37.0137017 C25.5972828,37.3771326 24.9158602,37.5588453 23.9653488,37.5588453 L17.6542639,37.5588453 C16.6897744,37.5588453 16.0048573,37.380627 15.5994921,37.0241852 C15.1941269,36.6677435 14.9914474,36.0701882 14.9914474,35.2315017 C14.9914474,34.4207713 15.1941269,33.8406885 15.5994921,33.4912358 C16.0048573,33.141783 16.6897744,32.9670593 17.6542639,32.9670593 L18.388111,32.9670593 L17.5284616,30.5139133 L8.47069195,30.5139133 L7.5691084,32.9670593 L8.30295547,32.9670593 C9.25346691,32.9670593 9.93488953,33.1452775 10.3472438,33.5017193 C10.759598,33.8581611 10.965772,34.4347494 10.965772,35.2315017 C10.965772,36.0562101 10.759598,36.6502709 10.3472438,37.0137017 C9.93488953,37.3771326 9.25346691,37.5588453 8.30295547,37.5588453 L2.89345418,37.5588453 C1.92896463,37.5588453 1.24404754,37.3771326 0.838682371,37.0137017 C0.433317198,36.6502709 0.230637652,36.0562101 0.230637652,35.2315017 C0.230637652,34.4906619 0.426328248,33.9280514 0.817715312,33.5436534 C1.20910238,33.1592554 1.78219626,32.9670593 2.53701417,32.9670593 L2.89345418,32.9670593 L8.51262607,17.3256331 L6.83526132,17.3256331 C5.88474988,17.3256331 5.20332727,17.1439204 4.79097304,16.7804895 C4.37861882,16.4170587 4.1724448,15.8299869 4.1724448,15.0192565 C4.1724448,14.1945481 4.37861882,13.6004873 4.79097304,13.2370565 C5.20332727,12.8736257 5.88474988,12.691913 6.83526132,12.691913 L14.6979086,12.691913 C15.9419603,12.691913 16.815579,13.3628521 17.318791,14.7047506 L17.318791,14.7676518 L23.9653488,32.9670593 Z M12.9786097,17.3256331 L9.9383861,26.1737321 L16.0188333,26.1737321 L12.9786097,17.3256331 Z M35.3809383,26.6979086 L35.3809383,33.0928616 L38.5259972,33.0928616 C40.7485166,33.0928616 42.3140414,32.8482484 43.2226185,32.3590146 C44.1311956,31.8697807 44.5854773,31.0520736 44.5854773,29.9058686 C44.5854773,28.7456855 44.1521624,27.9209895 43.2855197,27.4317556 C42.4188769,26.9425218 40.9022748,26.6979086 38.7356678,26.6979086 L35.3809383,26.6979086 Z M46.0741385,24.370565 C47.5977525,24.9296893 48.7159844,25.6949794 49.428868,26.666458 C50.1417516,27.6379366 50.498188,28.8784752 50.498188,30.388111 C50.498188,31.6601189 50.1906743,32.8202846 49.5756374,33.8686428 C48.9606006,34.917001 48.0799929,35.7766419 46.933788,36.4475911 C46.2628387,36.8389782 45.5115266,37.1220307 44.6798291,37.296757 C43.8481316,37.4714834 42.6704935,37.5588453 41.1468796,37.5588453 L39.3856466,37.5588453 L30.2020747,37.5588453 C29.2795194,37.5588453 28.6190637,37.3771326 28.2206876,37.0137017 C27.8223114,36.6502709 27.6231264,36.0562101 27.6231264,35.2315017 C27.6231264,34.4906619 27.811828,33.9280514 28.189237,33.5436534 C28.5666459,33.1592554 29.118773,32.9670593 29.8456347,32.9670593 L30.2020747,32.9670593 L30.2020747,17.3256331 L29.8456347,17.3256331 C29.118773,17.3256331 28.5666459,17.1299425 28.189237,16.7385554 C27.811828,16.3471683 27.6231264,15.7740744 27.6231264,15.0192565 C27.6231264,14.2085262 27.8258059,13.6179599 28.2311711,13.24754 C28.6365363,12.8771201 29.2934976,12.691913 30.2020747,12.691913 L39.8469219,12.691913 C42.796303,12.691913 45.0362615,13.2650068 46.5668644,14.4112118 C48.0974674,15.5574168 48.8627574,17.2347648 48.8627574,19.443306 C48.8627574,20.5335986 48.6286276,21.4945792 48.1603609,22.3262767 C47.6920943,23.1579742 46.9966938,23.8393968 46.0741385,24.370565 L46.0741385,24.370565 Z M35.3809383,17.1998307 L35.3809383,22.4835296 L38.2114913,22.4835296 C39.9307988,22.4835296 41.1433816,22.2808501 41.8492761,21.8754849 C42.5551706,21.4701197 42.9081126,20.7852027 42.9081126,19.8207131 C42.9081126,18.912136 42.5901154,18.2481858 41.9541114,17.8288425 C41.3181074,17.4094992 40.2872373,17.1998307 38.8614701,17.1998307 L35.3809383,17.1998307 Z M71.244119,13.3838259 C71.5236812,12.880614 71.8102281,12.5241775 72.1037684,12.3145059 C72.3973087,12.1048342 72.7677231,12 73.2150226,12 C73.8999499,12 74.3856819,12.1817127 74.6722332,12.5451435 C74.9587844,12.9085744 75.1020579,13.5305909 75.1020579,14.4112118 L75.143992,19.8626472 C75.143992,20.8271368 74.9867406,21.4771091 74.6722332,21.8125837 C74.3577257,22.1480584 73.7881263,22.3157932 72.9634178,22.3157932 C72.3763372,22.3157932 71.92555,22.1760142 71.6110425,21.896452 C71.2965351,21.6168898 71.0274605,21.0997075 70.8038107,20.3448896 C70.4403799,19.0169692 69.8602971,18.0629775 69.0635448,17.482886 C68.2667926,16.9027945 67.1625385,16.612753 65.7507494,16.612753 C63.5981206,16.612753 61.9487284,17.3396038 60.8025235,18.7933272 C59.6563185,20.2470506 59.0832246,22.3507245 59.0832246,25.104412 C59.0832246,27.8441215 59.6633074,29.9477954 60.8234905,31.4154969 C61.9836736,32.8831984 63.6400547,33.6170381 65.7926836,33.6170381 C67.2603851,33.6170381 68.878327,33.1278116 70.6465578,32.149344 C72.4147886,31.1708763 73.5295261,30.6816498 73.9908037,30.6816498 C74.53595,30.6816498 74.9937262,30.9122852 75.3641461,31.3735628 C75.734566,31.8348404 75.9197732,32.4079343 75.9197732,33.0928616 C75.9197732,34.3229353 74.836486,35.4831009 72.669879,36.5733935 C70.5032721,37.663686 68.0641285,38.2088241 65.3523753,38.2088241 C61.6901107,38.2088241 58.7267959,36.9997358 56.4623422,34.5815228 C54.1978885,32.1633099 53.0656786,29.0043046 53.0656786,25.104412 C53.0656786,21.3443006 54.2118664,18.22024 56.5042763,15.7321366 C58.7966863,13.2440331 61.7040894,12 65.226573,12 C66.2190187,12 67.1974717,12.1118232 68.1619613,12.3354729 C69.1264508,12.5591227 70.1538264,12.9085702 71.244119,13.3838259 L71.244119,13.3838259 Z M81.4645862,32.9670593 L81.4645862,17.3256331 L81.1081461,17.3256331 C80.3533282,17.3256331 79.7802344,17.1299425 79.3888473,16.7385554 C78.9974602,16.3471683 78.8017696,15.7740744 78.8017696,15.0192565 C78.8017696,14.2085262 79.0114381,13.6179599 79.4307814,13.24754 C79.8501247,12.8771201 80.5280528,12.691913 81.4645862,12.691913 L85.4063933,12.691913 L86.6434498,12.691913 C89.5648747,12.691913 91.7034933,12.8177141 93.0593699,13.06932 C94.4152465,13.320926 95.5684233,13.740263 96.5189347,14.3273436 C98.210286,15.3337675 99.5067362,16.7699967 100.408324,18.6360743 C101.309912,20.5021519 101.7607,22.6582429 101.7607,25.104412 C101.7607,27.6903623 101.247012,29.9512876 100.219621,31.8872557 C99.1922296,33.8232239 97.7350336,35.2874089 95.8479888,36.2798546 C94.9953241,36.7271541 93.9959043,37.0521403 92.8496993,37.2548229 C91.7034944,37.4575055 89.9981906,37.5588453 87.7337369,37.5588453 L85.4063933,37.5588453 L81.4645862,37.5588453 C80.5000966,37.5588453 79.8151795,37.380627 79.4098143,37.0241852 C79.0044492,36.6677435 78.8017696,36.0701882 78.8017696,35.2315017 C78.8017696,34.4906619 78.9974602,33.9280514 79.3888473,33.5436534 C79.7802344,33.1592554 80.3533282,32.9670593 81.1081461,32.9670593 L81.4645862,32.9670593 Z M86.8740874,17.2417648 L86.8740874,32.9670593 L88.0692098,32.9670593 C90.7110725,32.9670593 92.6609895,32.3205814 93.9190194,31.0276063 C95.1770492,29.7346312 95.8060547,27.7462749 95.8060547,25.0624779 C95.8060547,22.4206153 95.1665658,20.4497314 93.8875688,19.1497672 C92.6085718,17.849803 90.6831161,17.1998307 88.1111439,17.1998307 C87.7756693,17.1998307 87.5205727,17.2033252 87.3458463,17.2103142 C87.1711199,17.2173033 87.0138685,17.2277867 86.8740874,17.2417648 L86.8740874,17.2417648 Z M121.94052,17.1159625 L112.190837,17.1159625 L112.190837,22.4835296 L115.88104,22.4835296 L115.88104,22.2319249 C115.88104,21.4351727 116.055763,20.841112 116.405216,20.4497249 C116.754669,20.0583378 117.285829,19.8626472 117.998713,19.8626472 C118.627728,19.8626472 119.141415,20.0408655 119.539792,20.3973072 C119.938168,20.753749 120.137353,21.2045363 120.137353,21.7496826 C120.137353,21.7776388 120.144342,21.8684951 120.15832,22.0222543 C120.172298,22.1760135 120.179287,22.3297704 120.179287,22.4835296 L120.179287,26.8237109 C120.179287,27.7602442 120.011552,28.4311834 119.676077,28.8365486 C119.340603,29.2419138 118.795465,29.4445933 118.040647,29.4445933 C117.327763,29.4445933 116.789614,29.2558917 116.426183,28.8784827 C116.062752,28.5010738 115.88104,27.9419578 115.88104,27.201118 L115.88104,26.8237109 L112.190837,26.8237109 L112.190837,33.0928616 L121.94052,33.0928616 L121.94052,30.5977816 C121.94052,29.6612482 122.118738,28.9903091 122.47518,28.5849439 C122.831622,28.1795787 123.415199,27.9768992 124.225929,27.9768992 C125.022682,27.9768992 125.592281,28.1760842 125.934745,28.5744604 C126.277208,28.9728365 126.448438,29.6472701 126.448438,30.5977816 L126.448438,35.6718099 C126.448438,36.4266278 126.30167,36.9298322 126.008129,37.1814382 C125.714589,37.4330442 125.134506,37.5588453 124.267863,37.5588453 L107.095842,37.5588453 C106.173287,37.5588453 105.512831,37.3771326 105.114455,37.0137017 C104.716079,36.6502709 104.516894,36.0562101 104.516894,35.2315017 C104.516894,34.4906619 104.705595,33.9280514 105.083004,33.5436534 C105.460413,33.1592554 106.01254,32.9670593 106.739402,32.9670593 L107.095842,32.9670593 L107.095842,17.3256331 L106.739402,17.3256331 C106.026518,17.3256331 105.477886,17.126448 105.093488,16.7280719 C104.70909,16.3296957 104.516894,15.7600963 104.516894,15.0192565 C104.516894,14.2085262 104.719573,13.6179599 105.124938,13.24754 C105.530304,12.8771201 106.187265,12.691913 107.095842,12.691913 L124.267863,12.691913 C125.120528,12.691913 125.697116,12.8212085 125.997646,13.0798036 C126.298175,13.3383986 126.448438,13.8520864 126.448438,14.6208824 L126.448438,19.3175037 C126.448438,20.2680151 126.273714,20.9494377 125.924261,21.361792 C125.574808,21.7741462 125.008703,21.9803202 124.225929,21.9803202 C123.415199,21.9803202 122.831622,21.7706517 122.47518,21.3513084 C122.118738,20.9319652 121.94052,20.254037 121.94052,19.3175037 L121.94052,17.1159625 Z M19.7719369,47.6405477 C20.037521,47.1373358 20.3205734,46.7808993 20.6211028,46.5712277 C20.9216322,46.361556 21.295541,46.2567218 21.7428405,46.2567218 C22.4277678,46.2567218 22.9134998,46.4384345 23.2000511,46.8018653 C23.4866023,47.1652962 23.6298758,47.7873127 23.6298758,48.6679336 L23.6718099,54.119369 C23.6718099,55.0838586 23.5145586,55.7338309 23.2000511,56.0693055 C22.8855436,56.4047802 22.3089553,56.572515 21.4702687,56.572515 C20.8831881,56.572515 20.4254119,56.4292415 20.0969263,56.1426902 C19.7684407,55.856139 19.4993662,55.3424512 19.2896945,54.6016114 C18.9122856,53.2597129 18.3322027,52.3022267 17.5494286,51.7291243 C16.7666545,51.1560218 15.6693894,50.8694748 14.2576003,50.8694748 C12.1049715,50.8694748 10.4590738,51.5963256 9.31985785,53.050049 C8.18064193,54.5037724 7.61104252,56.6074463 7.61104252,59.3611338 C7.61104252,62.1148214 8.20859773,64.2429566 9.40372609,65.7456034 C10.5988544,67.2482501 12.2936748,67.9995623 14.488238,67.9995623 C14.9914499,67.9995623 15.5645438,67.9401562 16.2075368,67.8213423 C16.8505299,67.7025283 17.6053364,67.5173212 18.4719792,67.2657152 L18.4719792,63.9529198 L16.1027015,63.9529198 C15.1521901,63.9529198 14.4777564,63.7781961 14.0793803,63.4287433 C13.6810042,63.0792906 13.4818191,62.4992078 13.4818191,61.6884774 C13.4818191,60.8497908 13.6810042,60.2522356 14.0793803,59.8957938 C14.4777564,59.5393521 15.1521901,59.3611338 16.1027015,59.3611338 L23.6718099,59.3611338 C24.6502776,59.3611338 25.3386891,59.5358576 25.7370653,59.8853103 C26.1354414,60.2347631 26.3346265,60.8218348 26.3346265,61.6465433 C26.3346265,62.3873831 26.1354414,62.9569825 25.7370653,63.3553586 C25.3386891,63.7537347 24.7621008,63.9529198 24.0072829,63.9529198 L23.6718099,63.9529198 L23.6718099,68.9430799 L23.6718099,69.1946846 C23.6718099,69.6419841 23.6228873,69.9529924 23.5250405,70.1277188 C23.4271937,70.3024451 23.2315031,70.4806634 22.9379628,70.6623788 C22.1412106,71.1376345 20.8762107,71.5569715 19.1429251,71.9204023 C17.4096396,72.2838332 15.6554131,72.4655459 13.8801932,72.4655459 C10.2179286,72.4655459 7.25461383,71.2564576 4.99016011,68.8382446 C2.72570638,66.4200317 1.59349651,63.2610264 1.59349651,59.3611338 C1.59349651,55.6010224 2.73968428,52.4769618 5.03209423,49.9888583 C7.32450417,47.5007549 10.2319073,46.2567218 13.7543909,46.2567218 C14.7328585,46.2567218 15.7078171,46.368545 16.6792957,46.5921947 C17.6507743,46.8158445 18.6816444,47.165292 19.7719369,47.6405477 L19.7719369,47.6405477 Z M35.611576,51.5823548 L35.611576,56.4047785 L42.4678043,56.4047785 L42.4678043,51.5823548 L42.1323314,51.5823548 C41.3775135,51.5823548 40.8009251,51.3866642 40.402549,50.9952772 C40.0041729,50.6038901 39.8049878,50.0307962 39.8049878,49.2759783 C39.8049878,48.4512699 40.0111618,47.8572091 40.4235161,47.4937783 C40.8358703,47.1303474 41.5172929,46.9486347 42.4678043,46.9486347 L47.8773056,46.9486347 C48.8278171,46.9486347 49.5022507,47.1303474 49.9006269,47.4937783 C50.299003,47.8572091 50.498188,48.4512699 50.498188,49.2759783 C50.498188,50.0307962 50.3059919,50.6038901 49.9215939,50.9952772 C49.5371959,51.3866642 48.9745854,51.5823548 48.2337456,51.5823548 L47.8773056,51.5823548 L47.8773056,67.2237811 L48.2337456,67.2237811 C48.9885636,67.2237811 49.5616574,67.4159772 49.9530445,67.8003752 C50.3444316,68.1847732 50.5401222,68.7473837 50.5401222,69.4882235 C50.5401222,70.3129319 50.3374426,70.9069927 49.9320774,71.2704235 C49.5267123,71.6338543 48.8417952,71.815567 47.8773056,71.815567 L42.4678043,71.815567 C41.5033148,71.815567 40.8183977,71.6373488 40.4130325,71.280907 C40.0076674,70.9244652 39.8049878,70.32691 39.8049878,69.4882235 C39.8049878,68.7473837 40.0041729,68.1847732 40.402549,67.8003752 C40.8009251,67.4159772 41.3775135,67.2237811 42.1323314,67.2237811 L42.4678043,67.2237811 L42.4678043,61.0384986 L35.611576,61.0384986 L35.611576,67.2237811 L35.9470489,67.2237811 C36.7018668,67.2237811 37.2784552,67.4159772 37.6768313,67.8003752 C38.0752074,68.1847732 38.2743925,68.7473837 38.2743925,69.4882235 C38.2743925,70.3129319 38.0682185,70.9069927 37.6558642,71.2704235 C37.24351,71.6338543 36.5620874,71.815567 35.611576,71.815567 L30.2020747,71.815567 C29.2375851,71.815567 28.552668,71.6373488 28.1473029,71.280907 C27.7419377,70.9244652 27.5392581,70.32691 27.5392581,69.4882235 C27.5392581,68.7473837 27.7349487,68.1847732 28.1263358,67.8003752 C28.5177229,67.4159772 29.0908168,67.2237811 29.8456347,67.2237811 L30.2020747,67.2237811 L30.2020747,51.5823548 L29.8456347,51.5823548 C29.1047949,51.5823548 28.5421844,51.3866642 28.1577864,50.9952772 C27.7733884,50.6038901 27.5811923,50.0307962 27.5811923,49.2759783 C27.5811923,48.4512699 27.7803773,47.8572091 28.1787534,47.4937783 C28.5771296,47.1303474 29.2515632,46.9486347 30.2020747,46.9486347 L35.611576,46.9486347 C36.5481093,46.9486347 37.2260374,47.1303474 37.6453807,47.4937783 C38.064724,47.8572091 38.2743925,48.4512699 38.2743925,49.2759783 C38.2743925,50.0307962 38.0752074,50.6038901 37.6768313,50.9952772 C37.2784552,51.3866642 36.7018668,51.5823548 35.9470489,51.5823548 L35.611576,51.5823548 Z M67.365213,51.5823548 L67.365213,67.2237811 L70.887679,67.2237811 C71.8381904,67.2237811 72.519613,67.4019993 72.9319673,67.7584411 C73.3443215,68.1148829 73.5504955,68.6914712 73.5504955,69.4882235 C73.5504955,70.2989538 73.340827,70.8895201 72.9214837,71.25994 C72.5021404,71.6303599 71.8242123,71.815567 70.887679,71.815567 L58.4332458,71.815567 C57.4827343,71.815567 56.8013117,71.6338543 56.3889575,71.2704235 C55.9766033,70.9069927 55.7704292,70.3129319 55.7704292,69.4882235 C55.7704292,68.6774931 55.9731088,68.0974103 56.378474,67.7479575 C56.7838391,67.3985048 57.4687562,67.2237811 58.4332458,67.2237811 L61.9557117,67.2237811 L61.9557117,51.5823548 L58.4332458,51.5823548 C57.4827343,51.5823548 56.8013117,51.4006421 56.3889575,51.0372113 C55.9766033,50.6737805 55.7704292,50.0867087 55.7704292,49.2759783 C55.7704292,48.4512699 55.9731088,47.8641981 56.378474,47.5147453 C56.7838391,47.1652926 57.4687562,46.9905689 58.4332458,46.9905689 L70.887679,46.9905689 C71.8801247,46.9905689 72.5720308,47.1652926 72.9634178,47.5147453 C73.3548049,47.8641981 73.5504955,48.4512699 73.5504955,49.2759783 C73.5504955,50.0867087 73.347816,50.6737805 72.9424508,51.0372113 C72.5370856,51.4006421 71.8521685,51.5823548 70.887679,51.5823548 L67.365213,51.5823548 Z M97.8608265,51.5823548 L97.8608265,63.1771386 L97.8608265,63.5755127 C97.8608265,65.4485794 97.7385199,66.8044357 97.493903,67.6431222 C97.2492861,68.4818088 96.8404325,69.2296264 96.26733,69.8865976 C95.5264902,70.7392623 94.4991146,71.3822457 93.1851723,71.815567 C91.87123,72.2488884 90.2917273,72.4655459 88.4466169,72.4655459 C87.1466527,72.4655459 85.8921362,72.3397448 84.6830298,72.0881388 C83.4739233,71.8365328 82.3102631,71.4591296 81.1920144,70.9559176 C80.5769776,70.6763554 80.175113,70.31293 79.9864085,69.8656305 C79.797704,69.418331 79.7033532,68.6914802 79.7033532,67.6850564 L79.7033532,63.3658422 C79.7033532,62.1637247 79.8780769,61.3250508 80.2275297,60.849795 C80.5769824,60.3745393 81.185021,60.136915 82.0516638,60.136915 C83.2957156,60.136915 83.9806326,61.0524675 84.1064356,62.8835998 C84.1204137,63.2050963 84.1413806,63.4497096 84.1693368,63.6174469 C84.3370741,65.2389076 84.7144774,66.3466561 85.301558,66.9407258 C85.8886386,67.5347954 86.8251579,67.8318258 88.1111439,67.8318258 C89.7046484,67.8318258 90.8263749,67.4089943 91.476357,66.5633187 C92.126339,65.7176431 92.4513252,64.1765796 92.4513252,61.9400821 L92.4513252,51.5823548 L88.9288593,51.5823548 C87.9783478,51.5823548 87.2969252,51.4006421 86.884571,51.0372113 C86.4722168,50.6737805 86.2660427,50.0867087 86.2660427,49.2759783 C86.2660427,48.4512699 86.4652278,47.8641981 86.8636039,47.5147453 C87.26198,47.1652926 87.9503916,46.9905689 88.9288593,46.9905689 L99.6220595,46.9905689 C100.600527,46.9905689 101.288939,47.1652926 101.687315,47.5147453 C102.085691,47.8641981 102.284876,48.4512699 102.284876,49.2759783 C102.284876,50.0867087 102.078702,50.6737805 101.666348,51.0372113 C101.253994,51.4006421 100.572571,51.5823548 99.6220595,51.5823548 L97.8608265,51.5823548 Z M112.505343,51.5823548 L112.505343,57.9353738 L118.984165,51.4565525 C118.257303,51.3726838 117.747109,51.1665098 117.453569,50.8380242 C117.160029,50.5095387 117.013261,49.9888619 117.013261,49.2759783 C117.013261,48.4512699 117.212446,47.8572091 117.610822,47.4937783 C118.009198,47.1303474 118.683632,46.9486347 119.634143,46.9486347 L124.771073,46.9486347 C125.721584,46.9486347 126.396018,47.1303474 126.794394,47.4937783 C127.19277,47.8572091 127.391955,48.4512699 127.391955,49.2759783 C127.391955,50.0447743 127.19277,50.6213627 126.794394,51.0057607 C126.396018,51.3901587 125.812441,51.5823548 125.043645,51.5823548 L124.561402,51.5823548 L118.459988,57.641835 C119.592215,58.4805215 120.626579,59.5812811 121.563113,60.9441468 C122.499646,62.3070125 123.596911,64.400203 124.854941,67.2237811 L125.127513,67.2237811 L125.546854,67.2237811 C126.371563,67.2237811 126.98659,67.4124827 127.391955,67.7898917 C127.79732,68.1673006 128,68.7334056 128,69.4882235 C128,70.3129319 127.793826,70.9069927 127.381472,71.2704235 C126.969118,71.6338543 126.287695,71.815567 125.337183,71.815567 L122.758235,71.815567 C121.626008,71.815567 120.710456,71.0537715 120.01155,69.5301576 C119.885747,69.2505954 119.787902,69.026949 119.718012,68.8592117 C118.795456,66.9022764 117.949793,65.3926632 117.180997,64.3303269 C116.412201,63.2679906 115.510627,62.2965265 114.476247,61.4159056 L112.505343,63.302941 L112.505343,67.2237811 L112.840816,67.2237811 C113.595634,67.2237811 114.172222,67.4159772 114.570599,67.8003752 C114.968975,68.1847732 115.16816,68.7473837 115.16816,69.4882235 C115.16816,70.3129319 114.961986,70.9069927 114.549631,71.2704235 C114.137277,71.6338543 113.455855,71.815567 112.505343,71.815567 L107.095842,71.815567 C106.131352,71.815567 105.446435,71.6373488 105.04107,71.280907 C104.635705,70.9244652 104.433025,70.32691 104.433025,69.4882235 C104.433025,68.7473837 104.628716,68.1847732 105.020103,67.8003752 C105.41149,67.4159772 105.984584,67.2237811 106.739402,67.2237811 L107.095842,67.2237811 L107.095842,51.5823548 L106.739402,51.5823548 C105.998562,51.5823548 105.435952,51.3866642 105.051554,50.9952772 C104.667156,50.6038901 104.474959,50.0307962 104.474959,49.2759783 C104.474959,48.4512699 104.674145,47.8572091 105.072521,47.4937783 C105.470897,47.1303474 106.14533,46.9486347 107.095842,46.9486347 L112.505343,46.9486347 C113.441877,46.9486347 114.119805,47.1303474 114.539148,47.4937783 C114.958491,47.8572091 115.16816,48.4512699 115.16816,49.2759783 C115.16816,50.0307962 114.968975,50.6038901 114.570599,50.9952772 C114.172222,51.3866642 113.595634,51.5823548 112.840816,51.5823548 L112.505343,51.5823548 Z M13.439885,96.325622 L17.4445933,84.4372993 C17.6961993,83.6545252 18.0456468,83.0849258 18.4929463,82.728484 C18.9402458,82.3720422 19.5343065,82.193824 20.2751463,82.193824 L23.5460076,82.193824 C24.496519,82.193824 25.1779416,82.3755367 25.5902958,82.7389675 C26.0026501,83.1023984 26.2088241,83.6964591 26.2088241,84.5211676 C26.2088241,85.2759855 26.009639,85.8490794 25.6112629,86.2404664 C25.2128868,86.6318535 24.6362984,86.8275441 23.8814805,86.8275441 L23.5460076,86.8275441 L24.1330852,102.46897 L24.4895252,102.46897 C25.2443431,102.46897 25.8104481,102.661166 26.187857,103.045564 C26.565266,103.429962 26.7539676,103.992573 26.7539676,104.733413 C26.7539676,105.558121 26.5547826,106.152182 26.1564064,106.515613 C25.7580303,106.879044 25.0835967,107.060756 24.1330852,107.060756 L19.4154969,107.060756 C18.4649855,107.060756 17.7905518,106.882538 17.3921757,106.526096 C16.9937996,106.169654 16.7946145,105.572099 16.7946145,104.733413 C16.7946145,103.992573 16.9868106,103.429962 17.3712086,103.045564 C17.7556066,102.661166 18.325206,102.46897 19.0800239,102.46897 L19.4154969,102.46897 L19.1219581,89.6790642 L16.0607674,99.1981091 C15.8371177,99.9109927 15.5191204,100.42468 15.1067662,100.739188 C14.694412,101.053695 14.1248126,101.210947 13.3979509,101.210947 C12.6710892,101.210947 12.0945008,101.053695 11.6681685,100.739188 C11.2418362,100.42468 10.91685,99.9109927 10.6932002,99.1981091 L7.65297664,89.6790642 L7.35943781,102.46897 L7.69491075,102.46897 C8.44972866,102.46897 9.01932808,102.661166 9.40372609,103.045564 C9.78812409,103.429962 9.98032022,103.992573 9.98032022,104.733413 C9.98032022,105.558121 9.77764067,106.152182 9.3722755,106.515613 C8.96691032,106.879044 8.29597114,107.060756 7.35943781,107.060756 L2.62088241,107.060756 C1.68434908,107.060756 1.01340989,106.879044 0.608044719,106.515613 C0.202679546,106.152182 0,105.558121 0,104.733413 C0,103.992573 0.192196121,103.429962 0.57659413,103.045564 C0.960992139,102.661166 1.53059155,102.46897 2.28540946,102.46897 L2.62088241,102.46897 L3.22892713,86.8275441 L2.89345418,86.8275441 C2.13863627,86.8275441 1.56204791,86.6318535 1.16367179,86.2404664 C0.765295672,85.8490794 0.5661106,85.2759855 0.5661106,84.5211676 C0.5661106,83.6964591 0.772284622,83.1023984 1.18463885,82.7389675 C1.59699308,82.3755367 2.27841569,82.193824 3.22892713,82.193824 L6.49978838,82.193824 C7.22665007,82.193824 7.81022738,82.3685477 8.25053783,82.7180005 C8.69084827,83.0674532 9.05077919,83.6405471 9.33034138,84.4372993 L13.439885,96.325622 Z M43.8935644,98.3803938 L43.8935644,86.8275441 L42.7403761,86.8275441 C41.8178209,86.8275441 41.1573651,86.6458314 40.758989,86.2824006 C40.3606129,85.9189697 40.1614278,85.3318979 40.1614278,84.5211676 C40.1614278,83.7104372 40.3606129,83.119871 40.758989,82.7494511 C41.1573651,82.3790312 41.8178209,82.193824 42.7403761,82.193824 L48.6950209,82.193824 C49.6035981,82.193824 50.2605593,82.3790312 50.6659245,82.7494511 C51.0712897,83.119871 51.2739692,83.7104372 51.2739692,84.5211676 C51.2739692,85.2620074 51.0817731,85.8316068 50.6973751,86.2299829 C50.3129771,86.628359 49.7643445,86.8275441 49.051461,86.8275441 L48.6950209,86.8275441 L48.6950209,105.865634 C48.6950209,106.522605 48.6251315,106.934953 48.4853504,107.10269 C48.3455693,107.270428 48.0310665,107.354295 47.5418327,107.354295 L45.4451268,107.354295 C44.7741775,107.354295 44.3024234,107.284406 44.0298503,107.144625 C43.7572771,107.004843 43.5231473,106.76023 43.3274538,106.410777 L34.6051571,91.0838571 L34.6051571,102.46897 L35.8212466,102.46897 C36.7298237,102.46897 37.379796,102.643694 37.7711831,102.993147 C38.1625701,103.3426 38.3582607,103.922682 38.3582607,104.733413 C38.3582607,105.558121 38.1590757,106.152182 37.7606995,106.515613 C37.3623234,106.879044 36.7158456,107.060756 35.8212466,107.060756 L29.8037005,107.060756 C28.8951234,107.060756 28.2381621,106.879044 27.832797,106.515613 C27.4274318,106.152182 27.2247522,105.558121 27.2247522,104.733413 C27.2247522,103.992573 27.4134539,103.429962 27.7908629,103.045564 C28.1682718,102.661166 28.7273878,102.46897 29.4682276,102.46897 L29.8037005,102.46897 L29.8037005,86.8275441 L29.4682276,86.8275441 C28.755344,86.8275441 28.203217,86.628359 27.8118299,86.2299829 C27.4204428,85.8316068 27.2247522,85.2620074 27.2247522,84.5211676 C27.2247522,83.7104372 27.4309263,83.119871 27.8432805,82.7494511 C28.2556347,82.3790312 28.9091015,82.193824 29.8037005,82.193824 L33.2422983,82.193824 C34.0670067,82.193824 34.6261227,82.3021527 34.919663,82.5188134 C35.2132033,82.7354741 35.5416839,83.1722835 35.9051148,83.8292546 L43.8935644,98.3803938 Z M64.6604624,86.3662688 C62.8572863,86.3662688 61.4420239,87.0931196 60.4146329,88.546843 C59.3872418,90.0005663 58.873554,92.0203728 58.873554,94.6063231 C58.873554,97.1922733 59.3907363,99.2190688 60.4251164,100.68677 C61.4594965,102.154472 62.8712644,102.888312 64.6604624,102.888312 C66.4636385,102.888312 67.8823953,102.157966 68.9167754,100.697254 C69.9511555,99.2365414 70.4683378,97.2062514 70.4683378,94.6063231 C70.4683378,92.0203728 69.95465,90.0005663 68.9272589,88.546843 C67.8998679,87.0931196 66.4776166,86.3662688 64.6604624,86.3662688 L64.6604624,86.3662688 Z M64.6604624,81.501911 C68.0990773,81.501911 70.929602,82.7319662 73.1521214,85.1921135 C75.3746408,87.6522607 76.4858838,90.7902992 76.4858838,94.6063231 C76.4858838,98.4503032 75.3816297,101.595331 73.1730884,104.0415 C70.9645471,106.487669 68.1270335,107.710735 64.6604624,107.710735 C61.2358256,107.710735 58.4053009,106.477185 56.1688034,104.010049 C53.9323059,101.542913 52.8140739,98.4083688 52.8140739,94.6063231 C52.8140739,90.7763211 53.9218224,87.6347881 56.1373528,85.1816299 C58.3528831,82.7284717 61.1938912,81.501911 64.6604624,81.501911 L64.6604624,81.501911 Z M87.4611651,98.1707232 L87.4611651,102.46897 L89.6207722,102.46897 C90.5293493,102.46897 91.1758272,102.643694 91.5602252,102.993147 C91.9446232,103.3426 92.1368193,103.922682 92.1368193,104.733413 C92.1368193,105.558121 91.9411287,106.152182 91.5497417,106.515613 C91.1583546,106.879044 90.5153712,107.060756 89.6207722,107.060756 L82.3661697,107.060756 C81.4436145,107.060756 80.7831587,106.879044 80.3847826,106.515613 C79.9864065,106.152182 79.7872214,105.558121 79.7872214,104.733413 C79.7872214,103.992573 79.9759231,103.429962 80.353332,103.045564 C80.730741,102.661166 81.282868,102.46897 82.0097297,102.46897 L82.3661697,102.46897 L82.3661697,86.8275441 L82.0097297,86.8275441 C81.2968461,86.8275441 80.7482136,86.628359 80.3638155,86.2299829 C79.9794175,85.8316068 79.7872214,85.2620074 79.7872214,84.5211676 C79.7872214,83.7104372 79.989901,83.119871 80.3952661,82.7494511 C80.8006313,82.3790312 81.4575926,82.193824 82.3661697,82.193824 L91.0255652,82.193824 C94.450202,82.193824 97.0396079,82.8507853 98.7938606,84.1647276 C100.548113,85.4786699 101.425227,87.414609 101.425227,89.972603 C101.425227,92.6703781 100.551608,94.7111515 98.8043442,96.0949843 C97.0570805,97.4788171 94.4641801,98.1707232 91.0255652,98.1707232 L87.4611651,98.1707232 Z M87.4611651,86.8275441 L87.4611651,93.4531348 L90.4384875,93.4531348 C92.0879044,93.4531348 93.328443,93.1735768 94.1601405,92.6144525 C94.9918381,92.0553281 95.4076806,91.2166541 95.4076806,90.0984053 C95.4076806,89.0500471 94.9778602,88.2428234 94.1182064,87.67671 C93.2585527,87.1105966 92.031992,86.8275441 90.4384875,86.8275441 L87.4611651,86.8275441 Z M114.727851,107.396229 L113.092421,109.03166 C113.69348,108.835966 114.284046,108.689198 114.864137,108.591352 C115.444229,108.493505 116.013828,108.444582 116.572953,108.444582 C117.677223,108.444582 118.840883,108.608823 120.063968,108.937308 C121.287053,109.265794 122.031376,109.430034 122.29696,109.430034 C122.744259,109.430034 123.327837,109.279772 124.047709,108.979242 C124.767582,108.678713 125.253314,108.52845 125.50492,108.52845 C126.02211,108.52845 126.45193,108.727636 126.794394,109.126012 C127.136858,109.524388 127.308087,110.024098 127.308087,110.625156 C127.308087,111.421909 126.836333,112.099837 125.892811,112.658961 C124.949288,113.218086 123.792617,113.497643 122.422762,113.497643 C121.486229,113.497643 120.28413,113.277492 118.816428,112.837181 C117.348727,112.396871 116.286406,112.176719 115.629435,112.176719 C114.636989,112.176719 113.518757,112.449288 112.274706,112.994434 C111.030654,113.53958 110.261869,113.812149 109.968329,113.812149 C109.36727,113.812149 108.857077,113.612964 108.437734,113.214588 C108.01839,112.816212 107.808722,112.337469 107.808722,111.778345 C107.808722,111.386958 107.941512,110.971115 108.207096,110.530805 C108.47268,110.090494 108.94094,109.520895 109.611889,108.821989 L111.729562,106.683349 C109.395218,105.830685 107.536157,104.29661 106.152324,102.08108 C104.768491,99.8655494 104.076585,97.3180772 104.076585,94.4385866 C104.076585,90.6365409 105.180839,87.5299526 107.389381,85.1187288 C109.597922,82.7075049 112.442425,81.501911 115.922974,81.501911 C119.389545,81.501911 122.227059,82.7109994 124.4356,85.1292123 C126.644141,87.5474252 127.748395,90.650519 127.748395,94.4385866 C127.748395,98.2126762 126.65113,101.322759 124.456567,103.768928 C122.262004,106.215097 119.480402,107.438163 116.111677,107.438163 C115.888028,107.438163 115.660887,107.434669 115.430248,107.42768 C115.199609,107.420691 114.965479,107.410207 114.727851,107.396229 L114.727851,107.396229 Z M115.922974,86.3662688 C114.119798,86.3662688 112.704535,87.0931196 111.677144,88.546843 C110.649753,90.0005663 110.136065,92.0203728 110.136065,94.6063231 C110.136065,97.1922733 110.653248,99.2190688 111.687628,100.68677 C112.722008,102.154472 114.133776,102.888312 115.922974,102.888312 C117.72615,102.888312 119.144907,102.157966 120.179287,100.697254 C121.213667,99.2365414 121.730849,97.2062514 121.730849,94.6063231 C121.730849,92.0203728 121.217161,90.0005663 120.18977,88.546843 C119.162379,87.0931196 117.740128,86.3662688 115.922974,86.3662688 L115.922974,86.3662688 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mono-line": {
"title": "$:/core/images/mono-line",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-line tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.4374591,84.522627 L61.3450888,84.522627 C63.2671377,84.522627 64.7264493,85.0120303 65.7230673,85.9908515 C66.7196852,86.9696727 67.2179868,88.4022896 67.2179868,90.288745 C67.2179868,92.3887615 66.6929905,93.9014625 65.6429823,94.8268935 C64.5929741,95.7523244 62.857817,96.215033 60.4374591,96.215033 L44.3670747,96.215033 C41.9111232,96.215033 40.1670679,95.7612227 39.1348565,94.8535884 C38.102645,93.9459542 37.586547,92.424355 37.586547,90.288745 C37.586547,88.2243221 38.102645,86.747214 39.1348565,85.8573766 C40.1670679,84.9675391 41.9111232,84.522627 44.3670747,84.522627 L46.235724,84.522627 L44.0467348,78.2759992 L20.9822627,78.2759992 L18.6864935,84.522627 L20.5551429,84.522627 C22.9755008,84.522627 24.7106579,84.9764373 25.7606661,85.8840716 C26.8106743,86.7917058 27.3356705,88.2599156 27.3356705,90.288745 C27.3356705,92.3887615 26.8106743,93.9014625 25.7606661,94.8268935 C24.7106579,95.7523244 22.9755008,96.215033 20.5551429,96.215033 L6.78052766,96.215033 C4.32457622,96.215033 2.58052094,95.7523244 1.54830946,94.8268935 C0.516097994,93.9014625 0,92.3887615 0,90.288745 C0,88.4022896 0.498301511,86.9696727 1.49491948,85.9908515 C2.49153745,85.0120303 3.95084902,84.522627 5.87289797,84.522627 L6.78052766,84.522627 L21.0890427,44.6937008 L16.8178442,44.6937008 C14.3974863,44.6937008 12.6623292,44.2309922 11.612321,43.3055613 C10.5623128,42.3801303 10.0373165,40.8852258 10.0373165,38.8208028 C10.0373165,36.7207864 10.5623128,35.2080854 11.612321,34.2826544 C12.6623292,33.3572234 14.3974863,32.8945149 16.8178442,32.8945149 L36.8390873,32.8945149 C40.0069087,32.8945149 42.231469,34.6029772 43.512835,38.0199531 L43.512835,38.180123 L60.4374591,84.522627 Z M32.4611088,44.6937008 L24.7195615,67.224273 L40.2026561,67.224273 L32.4611088,44.6937008 Z M89.5058233,68.5590225 L89.5058233,84.8429669 L97.5143205,84.8429669 C103.173687,84.8429669 107.160099,84.22009 109.473676,82.9743176 C111.787254,81.7285451 112.944025,79.6463566 112.944025,76.7276897 C112.944025,73.7734293 111.840643,71.6734444 109.633846,70.4276719 C107.427049,69.1818994 103.565213,68.5590225 98.0482204,68.5590225 L89.5058233,68.5590225 Z M116.734714,62.6327346 C120.614405,64.0564746 123.461842,66.0051894 125.277111,68.4789376 C127.092379,70.9526857 128,74.1115614 128,77.9556593 C128,81.1946677 127.216955,84.1488838 125.650841,86.8183962 C124.084727,89.4879087 121.84237,91.676876 118.923703,93.385364 C117.215215,94.3819819 115.302093,95.1027395 113.18428,95.5476582 C111.066467,95.9925769 108.06776,96.215033 104.188068,96.215033 L99.7033098,96.215033 L76.3184979,96.215033 C73.9693269,96.215033 72.2875593,95.7523244 71.2731446,94.8268935 C70.2587299,93.9014625 69.7515301,92.3887615 69.7515301,90.288745 C69.7515301,88.4022896 70.2320352,86.9696727 71.1930596,85.9908515 C72.1540841,85.0120303 73.5600062,84.522627 75.4108682,84.522627 L76.3184979,84.522627 L76.3184979,44.6937008 L75.4108682,44.6937008 C73.5600062,44.6937008 72.1540841,44.1953993 71.1930596,43.1987813 C70.2320352,42.2021633 69.7515301,40.7428518 69.7515301,38.8208028 C69.7515301,36.7563799 70.2676281,35.2525771 71.2998396,34.3093494 C72.3320511,33.3661217 74.0049204,32.8945149 76.3184979,32.8945149 L100.877889,32.8945149 C108.388118,32.8945149 114.09189,34.3538264 117.989378,37.2724934 C121.886867,40.1911603 123.835581,44.4623161 123.835581,50.0860889 C123.835581,52.8623819 123.239399,55.3093982 122.047017,57.4272114 C120.854635,59.5450246 119.083885,61.2801816 116.734714,62.6327346 L116.734714,62.6327346 Z M89.5058233,44.3733609 L89.5058233,57.8276363 L96.7134708,57.8276363 C101.091471,57.8276363 104.179161,57.3115383 105.976633,56.2793268 C107.774104,55.2471153 108.672827,53.50306 108.672827,51.0471086 C108.672827,48.7335312 107.863087,47.0428653 106.243583,45.9750604 C104.624078,44.9072554 101.999097,44.3733609 98.3685602,44.3733609 L89.5058233,44.3733609 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n </g>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/new-image-button": {
"title": "$:/core/images/new-image-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.3619177,73.6270062 L97.1875317,46.2162388 C97.91364,44.9585822 97.4824378,43.3533085 96.2260476,42.6279312 L46.2162388,13.7547547 C44.9585822,13.0286463 43.3533085,13.4598485 42.6279312,14.7162388 L30.0575956,36.4886988 L40.0978909,31.2276186 C43.1404959,29.6333041 46.8692155,31.3421319 47.6479264,34.6877101 L51.2545483,52.3903732 L61.1353556,53.2399953 C63.2899974,53.4346096 65.1046382,54.9309951 65.706105,57.0091178 C65.7395572,57.1246982 65.8069154,57.3539875 65.9047035,57.6813669 C66.0696435,58.2335608 66.2581528,58.852952 66.4667073,59.5238092 C67.0618822,61.4383079 67.6960725,63.3742727 68.3393254,65.2021174 C68.5462918,65.7902259 68.7511789,66.3583016 68.953259,66.9034738 C69.5777086,68.5881157 70.1617856,70.0172008 70.6783305,71.110045 C70.9334784,71.6498566 71.1627732,72.0871602 71.4035746,72.5373068 C71.6178999,72.7492946 71.9508843,72.9623307 72.4151452,73.1586945 C73.5561502,73.6412938 75.1990755,73.899146 77.0720271,73.9171651 C77.9355886,73.9254732 78.7819239,73.8832103 79.5638842,73.8072782 C80.0123946,73.7637257 80.3172916,73.7224469 80.4352582,73.7027375 C80.7503629,73.6500912 81.0598053,73.6256267 81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 Z M37.4707881,2.64867269 C38.9217993,0.135447653 42.1388058,-0.723707984 44.6486727,0.725364314 L108.293614,37.4707881 C110.806839,38.9217993 111.665994,42.1388058 110.216922,44.6486727 L73.4714982,108.293614 C72.0204871,110.806839 68.8034805,111.665994 66.2936136,110.216922 L2.64867269,73.4714982 C0.135447653,72.0204871 -0.723707984,68.8034805 0.725364314,66.2936136 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 Z M80.3080975,53.1397764 C82.8191338,54.5895239 86.0299834,53.7291793 87.4797308,51.218143 C88.9294783,48.7071068 88.0691338,45.4962571 85.5580975,44.0465097 C83.0470612,42.5967622 79.8362116,43.4571068 78.3864641,45.968143 C76.9367166,48.4791793 77.7970612,51.6900289 80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 Z M96,112 L88.0070969,112 C83.5881712,112 80,108.418278 80,104 C80,99.5907123 83.5848994,96 88.0070969,96 L96,96 L96,88.0070969 C96,83.5881712 99.581722,80 104,80 C108.409288,80 112,83.5848994 112,88.0070969 L112,96 L119.992903,96 C124.411829,96 128,99.581722 128,104 C128,108.409288 124.415101,112 119.992903,112 L112,112 L112,119.992903 C112,124.411829 108.418278,128 104,128 C99.5907123,128 96,124.415101 96,119.992903 L96,112 L96,112 Z M33.3471097,51.7910932 C40.7754579,59.7394511 42.3564368,62.4818351 40.7958321,65.1848818 C39.2352273,67.8879286 26.9581062,62.8571718 24.7019652,66.7649227 C22.4458242,70.6726735 23.7947046,70.0228006 22.2648667,72.6725575 L41.9944593,84.0634431 C41.9944593,84.0634431 36.3904568,75.8079231 37.7602356,73.4353966 C40.2754811,69.0788636 46.5298923,72.1787882 48.1248275,69.4162793 C50.538989,65.234829 43.0222016,59.7770885 33.3471097,51.7910932 L33.3471097,51.7910932 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n <g transform=\"translate(0.000000, 0.000000)\">\n <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n </text>\n </g>\n </g>\n </g>\n</svg>"
},
"$:/core/images/opacity": {
"title": "$:/core/images/opacity",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-opacity tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.361773,65 C101.833691,67.051742 101.183534,69.0544767 100.419508,71 L82.5835324,71 C83.7602504,69.1098924 84.7666304,67.1027366 85.581205,65 L102.361773,65 Z M102.834311,63 C103.256674,61.0388326 103.568427,59.0365486 103.762717,57 L87.6555706,57 C87.3692052,59.0609452 86.9083652,61.0660782 86.2884493,63 L102.834311,63 Z M99.5852583,73 C98.6682925,75.0747721 97.6196148,77.0783056 96.4498253,79 L75.8124196,79 C77.8387053,77.2115633 79.6621163,75.1985844 81.2437158,73 L99.5852583,73 Z M95.1689122,81 C93.7449202,83.1155572 92.1695234,85.1207336 90.458251,87 L60.4614747,87 C65.1836162,85.86248 69.5430327,83.794147 73.3347255,81 L95.1689122,81 Z M87.6555706,47 L103.762717,47 C101.246684,20.6269305 79.0321807,0 52,0 C23.281193,0 0,23.281193 0,52 C0,77.2277755 17.9651296,98.2595701 41.8000051,103 L62.1999949,103 C67.8794003,101.870444 73.2255333,99.8158975 78.074754,97 L39,97 L39,95 L81.2493857,95 C83.8589242,93.2215015 86.2981855,91.2116653 88.5376609,89 L39,89 L39,87 L43.5385253,87 C27.7389671,83.1940333 16,68.967908 16,52 C16,32.117749 32.117749,16 52,16 C70.1856127,16 85.2217929,29.4843233 87.6555706,47 Z M87.8767787,49 L103.914907,49 C103.971379,49.9928025 104,50.9930589 104,52 C104,53.0069411 103.971379,54.0071975 103.914907,55 L87.8767787,55 C87.958386,54.0107999 88,53.0102597 88,52 C88,50.9897403 87.958386,49.9892001 87.8767787,49 Z\"></path>\n <path d=\"M76,128 C104.718807,128 128,104.718807 128,76 C128,47.281193 104.718807,24 76,24 C47.281193,24 24,47.281193 24,76 C24,104.718807 47.281193,128 76,128 L76,128 Z M76,112 C95.882251,112 112,95.882251 112,76 C112,56.117749 95.882251,40 76,40 C56.117749,40 40,56.117749 40,76 C40,95.882251 56.117749,112 76,112 L76,112 Z\"></path>\n <path d=\"M37,58 L90,58 L90,62 L37,62 L37,58 L37,58 Z M40,50 L93,50 L93,54 L40,54 L40,50 L40,50 Z M40,42 L93,42 L93,46 L40,46 L40,42 L40,42 Z M32,66 L85,66 L85,70 L32,70 L32,66 L32,66 Z M30,74 L83,74 L83,78 L30,78 L30,74 L30,74 Z M27,82 L80,82 L80,86 L27,86 L27,82 L27,82 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/open-window": {
"title": "$:/core/images/open-window",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-open-window tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M16,112 L104.993898,112 C108.863261,112 112,115.590712 112,120 C112,124.418278 108.858091,128 104.993898,128 L7.00610161,128 C3.13673853,128 0,124.409288 0,120 C0,119.998364 4.30952878e-07,119.996727 1.29273572e-06,119.995091 C4.89579306e-07,119.993456 0,119.99182 0,119.990183 L0,24.0098166 C0,19.586117 3.59071231,16 8,16 C12.418278,16 16,19.5838751 16,24.0098166 L16,112 Z\"></path>\n <path d=\"M96,43.1959595 L96,56 C96,60.418278 99.581722,64 104,64 C108.418278,64 112,60.418278 112,56 L112,24 C112,19.5907123 108.415101,16 103.992903,16 L72.0070969,16 C67.5881712,16 64,19.581722 64,24 C64,28.4092877 67.5848994,32 72.0070969,32 L84.5685425,32 L48.2698369,68.2987056 C45.1421332,71.4264093 45.1434327,76.4904296 48.267627,79.614624 C51.3854642,82.7324612 56.4581306,82.7378289 59.5835454,79.6124141 L96,43.1959595 Z M32,7.9992458 C32,3.58138434 35.5881049,0 39.9992458,0 L120.000754,0 C124.418616,0 128,3.5881049 128,7.9992458 L128,88.0007542 C128,92.4186157 124.411895,96 120.000754,96 L39.9992458,96 C35.5813843,96 32,92.4118951 32,88.0007542 L32,7.9992458 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/paint": {
"title": "$:/core/images/paint",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-paint tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M83.5265806,76.1907935 C90.430962,69.2864121 91.8921169,59.0000433 87.9100453,50.6642209 L125.812763,12.7615036 C128.732035,9.84223095 128.72611,5.10322984 125.812796,2.18991592 C122.893542,-0.729338085 118.161775,-0.730617045 115.241209,2.18994966 L77.3384914,40.092667 C69.002669,36.1105954 58.7163002,37.5717503 51.8119188,44.4761317 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 Z M80.8836921,78.8336819 L49.1690303,47.1190201 C49.1690303,47.1190201 8.50573364,81.242543 0,80.2820711 C0,80.2820711 3.78222974,85.8744423 6.82737483,88.320684 C20.8514801,82.630792 44.1526049,63.720771 44.1526049,63.720771 L44.8144806,64.3803375 C44.8144806,64.3803375 19.450356,90.2231043 9.18040433,92.0477601 C10.4017154,93.4877138 13.5343883,96.1014812 15.4269991,97.8235871 C20.8439164,96.3356979 50.1595367,69.253789 50.1595367,69.253789 L50.8214124,69.9133555 L18.4136144,100.936036 L23.6993903,106.221812 L56.1060358,75.2002881 L56.7679115,75.8598546 C56.7679115,75.8598546 28.9040131,106.396168 28.0841366,108.291555 C28.0841366,108.291555 34.1159238,115.144621 35.6529617,116.115796 C36.3545333,113.280171 63.5365402,82.6307925 63.5365402,82.6307925 L64.1984159,83.290359 C64.1984159,83.290359 43.6013016,107.04575 39.2343772,120.022559 C42.443736,123.571575 46.7339155,125.159692 50.1595362,126.321151 C47.9699978,114.504469 80.8836921,78.8336819 80.8836921,78.8336819 L80.8836921,78.8336819 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/palette": {
"title": "$:/core/images/palette",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-palette tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.2470434,39.1821571 C75.0645698,38.2680897 69.6261555,37.7814854 64.0193999,37.7814854 C28.6624616,37.7814854 0,57.1324214 0,81.0030106 C0,90.644534 4.67604329,99.5487133 12.5805659,106.738252 C23.5031767,91.1899067 26.3405471,72.3946229 36.8885698,63.5622337 C52.0716764,50.8486559 63.4268694,55.7343343 63.4268694,55.7343343 L80.2470434,39.1821571 Z M106.781666,48.8370714 C119.830962,56.749628 128.0388,68.229191 128.0388,81.0030106 C128.0388,90.3534932 128.557501,98.4142085 116.165191,106.082518 C105.367708,112.763955 112.341384,99.546808 104.321443,95.1851533 C96.3015017,90.8234987 84.3749007,96.492742 86.1084305,103.091059 C89.3087234,115.272303 105.529892,114.54645 92.4224435,119.748569 C79.3149955,124.950687 74.2201582,124.224536 64.0193999,124.224536 C56.1979176,124.224536 48.7040365,123.277578 41.7755684,121.544216 C51.620343,117.347916 69.6563669,109.006202 75.129737,102.088562 C82.7876655,92.4099199 87.3713218,80.0000002 83.3235694,72.4837191 C83.1303943,72.1250117 94.5392656,60.81569 106.781666,48.8370714 Z M1.13430476,123.866563 C0.914084026,123.867944 0.693884185,123.868637 0.473712455,123.868637 C33.9526848,108.928928 22.6351223,59.642592 59.2924543,59.6425917 C59.6085574,61.0606542 59.9358353,62.5865065 60.3541977,64.1372318 C34.4465025,59.9707319 36.7873124,112.168427 1.13429588,123.866563 L1.13430476,123.866563 Z M1.84669213,123.859694 C40.7185279,123.354338 79.9985412,101.513051 79.9985401,79.0466836 C70.7284906,79.0466835 65.9257264,75.5670082 63.1833375,71.1051511 C46.585768,64.1019718 32.81846,116.819636 1.84665952,123.859695 L1.84669213,123.859694 Z M67.1980193,59.8524981 C62.748213,63.9666823 72.0838429,76.2846822 78.5155805,71.1700593 C89.8331416,59.8524993 112.468264,37.2173758 123.785825,25.8998146 C135.103386,14.5822535 123.785825,3.26469247 112.468264,14.5822535 C101.150703,25.8998144 78.9500931,48.9868127 67.1980193,59.8524981 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/picture": {
"title": "$:/core/images/picture",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-picture tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112,68.2332211 L112,20.0027785 C112,17.7898769 110.207895,16 107.997221,16 L20.0027785,16 C17.7898769,16 16,17.792105 16,20.0027785 L16,58.312373 L25.2413115,43.7197989 C28.041793,39.297674 34.2643908,38.7118128 37.8410347,42.5335275 L56.0882845,63.1470817 L69.7748997,56.7400579 C72.766567,55.3552503 76.3013751,55.9473836 78.678437,58.2315339 C78.8106437,58.3585731 79.0742301,58.609836 79.4527088,58.9673596 C80.0910923,59.570398 80.8117772,60.2441563 81.598127,60.9705595 C83.8422198,63.043576 86.1541548,65.1151944 88.3956721,67.0372264 C89.1168795,67.6556396 89.8200801,68.2492007 90.5021258,68.8146755 C92.6097224,70.5620551 94.4693308,72.0029474 95.9836366,73.0515697 C96.7316295,73.5695379 97.3674038,73.9719282 98.0281481,74.3824999 C98.4724987,74.4989557 99.0742374,74.5263881 99.8365134,74.4317984 C101.709944,74.1993272 104.074502,73.2878514 106.559886,71.8846196 C107.705822,71.2376318 108.790494,70.5370325 109.764561,69.8410487 C110.323259,69.4418522 110.694168,69.1550757 110.834827,69.0391868 C111.210545,68.7296319 111.600264,68.4615815 112,68.2332211 L112,68.2332211 Z M0,8.00697327 C0,3.58484404 3.59075293,0 8.00697327,0 L119.993027,0 C124.415156,0 128,3.59075293 128,8.00697327 L128,119.993027 C128,124.415156 124.409247,128 119.993027,128 L8.00697327,128 C3.58484404,128 0,124.409247 0,119.993027 L0,8.00697327 L0,8.00697327 Z M95,42 C99.418278,42 103,38.418278 103,34 C103,29.581722 99.418278,26 95,26 C90.581722,26 87,29.581722 87,34 C87,38.418278 90.581722,42 95,42 L95,42 Z M32,76 C47.8587691,80.8294182 52.0345556,83.2438712 52.0345556,88 C52.0345556,92.7561288 32,95.4712486 32,102.347107 C32,109.222965 33.2849191,107.337637 33.2849191,112 L67.999999,112 C67.999999,112 54.3147136,105.375255 54.3147136,101.200691 C54.3147136,93.535181 64.9302432,92.860755 64.9302432,88 C64.9302432,80.6425555 50.8523779,79.167282 32,76 L32,76 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M29.4078519,91.4716406 L51.4693474,69.4101451 L51.4646675,69.4054652 C50.5969502,68.5377479 50.5929779,67.1348725 51.4693474,66.2585029 C52.3396494,65.3882009 53.7499654,65.3874786 54.6163097,66.2538229 L64.0805963,75.7181095 C64.9483136,76.5858268 64.9522859,77.9887022 64.0759163,78.8650718 C63.2056143,79.7353737 61.7952984,79.736096 60.9289541,78.8697517 L60.9242741,78.8650718 L60.9242741,78.8650718 L38.8627786,100.926567 C36.2518727,103.537473 32.0187578,103.537473 29.4078519,100.926567 C26.796946,98.3156614 26.796946,94.0825465 29.4078519,91.4716406 Z M60.8017407,66.3810363 C58.3659178,63.6765806 56.3370667,61.2899536 54.9851735,59.5123615 C48.1295381,50.4979488 44.671561,55.2444054 40.7586738,59.5123614 C36.8457866,63.7803174 41.789473,67.2384487 38.0759896,70.2532832 C34.3625062,73.2681177 34.5917646,74.3131575 28.3243876,68.7977024 C22.0570105,63.2822473 21.6235306,61.7636888 24.5005999,58.6166112 C27.3776691,55.4695337 29.7823103,60.4247912 35.6595047,54.8320442 C41.5366991,49.2392972 36.5996215,44.2825646 36.5996215,44.2825646 C36.5996215,44.2825646 48.8365511,19.267683 65.1880231,21.1152173 C81.5394952,22.9627517 59.0022276,18.7228947 53.3962199,38.3410355 C50.9960082,46.7405407 53.8429162,44.7613399 58.3941742,48.3090467 C59.7875202,49.3951602 64.4244828,52.7100463 70.1884353,56.9943417 L90.8648751,36.3179019 L92.4795866,31.5515482 L100.319802,26.8629752 L103.471444,30.0146174 L98.782871,37.8548326 L94.0165173,39.4695441 L73.7934912,59.6925702 C86.4558549,69.2403631 102.104532,81.8392557 102.104532,86.4016913 C102.104533,93.6189834 99.0337832,97.9277545 92.5695848,95.5655717 C87.8765989,93.8506351 73.8015497,80.3744087 63.8173444,69.668717 L60.9242741,72.5617873 L57.7726319,69.4101451 L60.8017407,66.3810363 L60.8017407,66.3810363 Z M63.9533761,1.42108547e-13 L118.512977,32 L118.512977,96 L63.9533761,128 L9.39377563,96 L9.39377563,32 L63.9533761,1.42108547e-13 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/preview-closed": {
"title": "$:/core/images/preview-closed",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-closed tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M0.0881363238,64 C-0.210292223,65.8846266 0.249135869,67.8634737 1.4664206,69.4579969 C16.2465319,88.8184886 39.1692554,100.414336 64,100.414336 C88.8307446,100.414336 111.753468,88.8184886 126.533579,69.4579969 C127.750864,67.8634737 128.210292,65.8846266 127.911864,64 C110.582357,78.4158332 88.3036732,87.0858436 64,87.0858436 C39.6963268,87.0858436 17.4176431,78.4158332 0.0881363238,64 Z\"></path>\n <rect x=\"62\" y=\"96\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(80.000000, 101.000000) rotate(-5.000000) translate(-80.000000, -101.000000) \" x=\"78\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(48.000000, 101.000000) rotate(-355.000000) translate(-48.000000, -101.000000) \" x=\"46\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(32.000000, 96.000000) rotate(-350.000000) translate(-32.000000, -96.000000) \" x=\"30\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(96.000000, 96.000000) rotate(-10.000000) translate(-96.000000, -96.000000) \" x=\"94\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(112.000000, 88.000000) rotate(-20.000000) translate(-112.000000, -88.000000) \" x=\"110\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(16.000000, 88.000000) rotate(-340.000000) translate(-16.000000, -88.000000) \" x=\"14\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/preview-open": {
"title": "$:/core/images/preview-open",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-open tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64.1099282,99.5876785 C39.2791836,99.5876785 16.3564602,87.9918313 1.57634884,68.6313396 C-0.378878622,66.070184 -0.378878622,62.5174945 1.57634884,59.9563389 C16.3564602,40.5958472 39.2791836,29 64.1099282,29 C88.9406729,29 111.863396,40.5958472 126.643508,59.9563389 C128.598735,62.5174945 128.598735,66.070184 126.643508,68.6313396 C111.863396,87.9918313 88.9406729,99.5876785 64.1099282,99.5876785 Z M110.213805,67.5808331 C111.654168,66.0569335 111.654168,63.9430665 110.213805,62.4191669 C99.3257042,50.8995835 82.4391647,44 64.1470385,44 C45.8549124,44 28.9683729,50.8995835 18.0802717,62.4191669 C16.6399094,63.9430665 16.6399094,66.0569335 18.0802717,67.5808331 C28.9683729,79.1004165 45.8549124,86 64.1470385,86 C82.4391647,86 99.3257042,79.1004165 110.213805,67.5808331 Z\"></path>\n <path d=\"M63.5,88 C76.4786916,88 87,77.4786916 87,64.5 C87,51.5213084 76.4786916,41 63.5,41 C50.5213084,41 40,51.5213084 40,64.5 C40,77.4786916 50.5213084,88 63.5,88 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/print-button": {
"title": "$:/core/images/print-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112,71 L112,30.5 L111.96811,30.5 L111.96811,30.5 C111.932942,28.4998414 111.151676,26.510538 109.625176,24.9840387 L86.9982489,2.35711116 C85.3482153,0.707077645 83.1589869,-0.071534047 81,0.0201838424 L81,0 L23.9992458,0 C19.5808867,0 16,3.58213437 16,8.00092105 L16,71 L24,71 L24,8 L81,8 L81,22.4996539 C81,26.9216269 84.5818769,30.5 89.0003461,30.5 L104,30.5 L104,71 L112,71 Z\"></path>\n <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n <path d=\"M0,80.0054195 C0,71.1658704 7.15611005,64 16.0008841,64 L111.999116,64 C120.83616,64 128,71.1553215 128,80.0054195 L128,111.99458 C128,120.83413 120.84389,128 111.999116,128 L16.0008841,128 C7.16383982,128 0,120.844679 0,111.99458 L0,80.0054195 Z M104,96 C108.418278,96 112,92.418278 112,88 C112,83.581722 108.418278,80 104,80 C99.581722,80 96,83.581722 96,88 C96,92.418278 99.581722,96 104,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/quote": {
"title": "$:/core/images/quote",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M51.2188077,117.712501 L51.2188077,62.1993386 L27.4274524,62.1993386 C27.4274524,53.3075754 29.1096526,45.797753 32.4741035,39.669646 C35.8385544,33.541539 42.0867267,28.9154883 51.2188077,25.7913554 L51.2188077,2 C43.7689521,2.96127169 36.8599155,5.18417913 30.4914905,8.668789 C24.1230656,12.1533989 18.6559149,16.5391352 14.0898743,21.8261295 C9.52383382,27.1131238 5.97919764,33.2411389 3.45585945,40.2103586 C0.932521268,47.1795784 -0.208971741,54.6293222 0.0313461819,62.5598136 L0.0313461819,117.712501 L51.2188077,117.712501 Z M128,117.712501 L128,62.1993386 L104.208645,62.1993386 C104.208645,53.3075754 105.890845,45.797753 109.255296,39.669646 C112.619747,33.541539 118.867919,28.9154883 128,25.7913554 L128,2 C120.550144,2.96127169 113.641108,5.18417913 107.272683,8.668789 C100.904258,12.1533989 95.4371072,16.5391352 90.8710666,21.8261295 C86.3050261,27.1131238 82.7603899,33.2411389 80.2370517,40.2103586 C77.7137136,47.1795784 76.5722206,54.6293222 76.8125385,62.5598136 L76.8125385,117.712501 L128,117.712501 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/size": {
"title": "$:/core/images/size",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-size tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M92.3431458,26 L83.1715729,35.1715729 C81.6094757,36.73367 81.6094757,39.26633 83.1715729,40.8284271 C84.73367,42.3905243 87.26633,42.3905243 88.8284271,40.8284271 L104.828427,24.8284271 C106.390524,23.26633 106.390524,20.73367 104.828427,19.1715729 L88.8284271,3.17157288 C87.26633,1.60947571 84.73367,1.60947571 83.1715729,3.17157288 C81.6094757,4.73367004 81.6094757,7.26632996 83.1715729,8.82842712 L92.3431457,18 L22,18 C19.790861,18 18,19.790861 18,22 L18,92.3431458 L8.82842712,83.1715729 C7.26632996,81.6094757 4.73367004,81.6094757 3.17157288,83.1715729 C1.60947571,84.73367 1.60947571,87.26633 3.17157288,88.8284271 L19.1715729,104.828427 C20.73367,106.390524 23.26633,106.390524 24.8284271,104.828427 L40.8284271,88.8284271 C42.3905243,87.26633 42.3905243,84.73367 40.8284271,83.1715729 C39.26633,81.6094757 36.73367,81.6094757 35.1715729,83.1715729 L26,92.3431458 L26,22 L22,26 L92.3431458,26 L92.3431458,26 Z M112,52 L112,116 L116,112 L52,112 C49.790861,112 48,113.790861 48,116 C48,118.209139 49.790861,120 52,120 L116,120 C118.209139,120 120,118.209139 120,116 L120,52 C120,49.790861 118.209139,48 116,48 C113.790861,48 112,49.790861 112,52 L112,52 Z\"></path>\n</svg>"
},
"$:/core/images/spiral": {
"title": "$:/core/images/spiral",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-spiral tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074.14-2.64-1.89-4.89-4.52-5.03-2.64-.14-4.89 1.88-5.03 4.52-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01-.02-.015-.054-.045-.094-.088-.06-.064-.12-.145-.17-.244-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"></path>\n </g>\n</svg>"
},
"$:/core/images/stamp": {
"title": "$:/core/images/stamp",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-stamp tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M49.7334301,64 L16.0098166,64 C11.5838751,64 8,67.5829053 8,72.002643 L8,74.4986785 L8,97 L120,97 L120,74.4986785 L120,72.002643 C120,67.5737547 116.413883,64 111.990183,64 L78.2665699,64 C76.502049,60.7519149 75.5,57.0311962 75.5,53.0769231 C75.5,46.6017951 78.1869052,40.7529228 82.5087769,36.5800577 C85.3313113,32.7688808 87,28.0549983 87,22.952183 C87,10.2760423 76.7025492,0 64,0 C51.2974508,0 41,10.2760423 41,22.952183 C41,28.0549983 42.6686887,32.7688808 45.4912231,36.5800577 C49.8130948,40.7529228 52.5,46.6017951 52.5,53.0769231 C52.5,57.0311962 51.497951,60.7519149 49.7334301,64 Z M8,104 L120,104 L120,112 L8,112 L8,104 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/strikethrough": {
"title": "$:/core/images/strikethrough",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M92.793842,38.7255689 L108.215529,38.7255689 C107.987058,31.985687 106.70193,26.1883331 104.360107,21.3333333 C102.018284,16.4783336 98.8197436,12.4516001 94.7643909,9.25301205 C90.7090382,6.05442399 85.9969032,3.71263572 80.6278447,2.22757697 C75.2587862,0.742518233 69.4328739,0 63.1499331,0 C57.552404,0 52.0977508,0.713959839 46.7858099,2.14190094 C41.473869,3.56984203 36.7331757,5.74027995 32.5635877,8.65327979 C28.3939997,11.5662796 25.0526676,15.2788708 22.5394913,19.7911647 C20.026315,24.3034585 18.7697456,29.6438781 18.7697456,35.8125837 C18.7697456,41.4101128 19.883523,46.0651309 22.1111111,49.7777778 C24.3386992,53.4904246 27.3087722,56.5176144 31.021419,58.8594378 C34.7340659,61.2012612 38.9321497,63.0861151 43.6157965,64.5140562 C48.2994433,65.9419973 53.068695,67.1985666 57.9236948,68.2838019 C62.7786945,69.3690371 67.5479462,70.4256977 72.231593,71.4538153 C76.9152398,72.4819329 81.1133237,73.8241773 84.8259705,75.480589 C88.5386174,77.1370007 91.5086903,79.2788802 93.7362784,81.9062918 C95.9638666,84.5337035 97.0776439,87.9607107 97.0776439,92.1874163 C97.0776439,96.6425926 96.1637753,100.298067 94.3360107,103.153949 C92.5082461,106.009831 90.109341,108.265944 87.1392236,109.922356 C84.1691061,111.578768 80.827774,112.749662 77.1151272,113.435074 C73.4024803,114.120485 69.7184476,114.463186 66.0629183,114.463186 C61.4935068,114.463186 57.0383974,113.892018 52.6974565,112.749665 C48.3565156,111.607312 44.5582492,109.836692 41.3025435,107.437751 C38.0468378,105.03881 35.4194656,101.983062 33.4203481,98.270415 C31.4212305,94.5577681 30.4216867,90.1312171 30.4216867,84.9906292 L15,84.9906292 C15,92.4159229 16.3422445,98.8415614 19.0267738,104.267738 C21.711303,109.693914 25.3667774,114.149023 29.9933066,117.633199 C34.6198357,121.117376 39.9888137,123.71619 46.1004016,125.429719 C52.2119895,127.143248 58.6947448,128 65.5488621,128 C71.1463912,128 76.7723948,127.343157 82.4270415,126.029451 C88.0816882,124.715745 93.1936407,122.602424 97.7630522,119.689424 C102.332464,116.776425 106.073613,113.006717 108.986613,108.380187 C111.899613,103.753658 113.356091,98.1847715 113.356091,91.6733601 C113.356091,85.6188899 112.242314,80.5926126 110.014726,76.5943775 C107.787137,72.5961424 104.817065,69.2833688 101.104418,66.6559572 C97.3917708,64.0285455 93.193687,61.9437828 88.5100402,60.4016064 C83.8263934,58.85943 79.0571416,57.5171855 74.2021419,56.3748327 C69.3471422,55.2324798 64.5778904,54.1758192 59.8942436,53.2048193 C55.2105968,52.2338193 51.012513,51.0058084 47.2998661,49.5207497 C43.5872193,48.0356909 40.6171463,46.1222786 38.3895582,43.7804552 C36.1619701,41.4386318 35.0481928,38.3828836 35.0481928,34.6131191 C35.0481928,30.6148841 35.8192694,27.273552 37.3614458,24.5890228 C38.9036222,21.9044935 40.9598265,19.762614 43.5301205,18.1633199 C46.1004145,16.5640259 49.041929,15.4216902 52.3547523,14.7362784 C55.6675757,14.0508667 59.0374661,13.708166 62.4645248,13.708166 C70.9179361,13.708166 77.8576257,15.6786952 83.2838019,19.6198126 C88.709978,23.56093 91.8799597,29.9294518 92.793842,38.7255689 L92.793842,38.7255689 Z\"></path>\n <rect x=\"5\" y=\"54\" width=\"118\" height=\"16\"></rect>\n </g>\n</svg>"
},
"$:/core/images/subscript": {
"title": "$:/core/images/subscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-subscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,128.411516 L85.3276227,128.411516 C85.3870139,123.24448 86.6342108,118.730815 89.0692508,114.870386 C91.5042907,111.009956 94.8301491,107.654403 99.0469256,104.803624 C101.066227,103.318844 103.174584,101.878629 105.372059,100.482935 C107.569534,99.0872413 109.588805,97.5876355 111.429933,95.9840726 C113.271061,94.3805097 114.785514,92.6433426 115.973338,90.7725192 C117.161163,88.9016958 117.784761,86.7487964 117.844152,84.3137564 C117.844152,83.1853233 117.710524,81.9826691 117.443264,80.7057579 C117.176003,79.4288467 116.656338,78.2410402 115.884252,77.1423026 C115.112166,76.0435651 114.04314,75.123015 112.677142,74.3806248 C111.311144,73.6382345 109.529434,73.267045 107.331959,73.267045 C105.312658,73.267045 103.634881,73.6679297 102.298579,74.4697112 C100.962276,75.2714926 99.8932503,76.3702137 99.0914688,77.7659073 C98.2896874,79.161601 97.6957841,80.8096826 97.3097412,82.7102016 C96.9236982,84.6107206 96.7009845,86.6596869 96.6415933,88.857162 L86.4857457,88.857162 C86.4857457,85.4124713 86.9460207,82.2202411 87.8665846,79.2803758 C88.7871485,76.3405105 90.1679736,73.801574 92.0091014,71.6634901 C93.8502292,69.5254062 96.092214,67.8476295 98.7351233,66.6301095 C101.378033,65.4125895 104.451482,64.8038386 107.955564,64.8038386 C111.756602,64.8038386 114.933984,65.4274371 117.487807,66.6746527 C120.041629,67.9218683 122.105443,69.4957119 123.67931,71.3962309 C125.253178,73.2967499 126.366746,75.3605638 127.02005,77.5877345 C127.673353,79.8149053 128,81.9381095 128,83.9574109 C128,86.4518421 127.613963,88.7086746 126.841877,90.727976 C126.069791,92.7472774 125.03046,94.6032252 123.723854,96.2958749 C122.417247,97.9885247 120.932489,99.5475208 119.269534,100.97291 C117.60658,102.398299 115.884261,103.734582 114.102524,104.981797 C112.320788,106.229013 110.539078,107.416819 108.757341,108.545253 C106.975605,109.673686 105.327523,110.802102 103.813047,111.930535 C102.298571,113.058968 100.977136,114.231927 99.8487031,115.449447 C98.7202699,116.666967 97.9481956,117.958707 97.5324571,119.324705 L127.910914,119.324705 L127.910914,128.411516 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/superscript": {
"title": "$:/core/images/superscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-superscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,63.4115159 L85.3276227,63.4115159 C85.3870139,58.2444799 86.6342108,53.7308149 89.0692508,49.8703857 C91.5042907,46.0099565 94.8301491,42.654403 99.0469256,39.8036245 C101.066227,38.318844 103.174584,36.8786285 105.372059,35.4829349 C107.569534,34.0872413 109.588805,32.5876355 111.429933,30.9840726 C113.271061,29.3805097 114.785514,27.6433426 115.973338,25.7725192 C117.161163,23.9016958 117.784761,21.7487964 117.844152,19.3137564 C117.844152,18.1853233 117.710524,16.9826691 117.443264,15.7057579 C117.176003,14.4288467 116.656338,13.2410402 115.884252,12.1423026 C115.112166,11.0435651 114.04314,10.123015 112.677142,9.38062477 C111.311144,8.63823453 109.529434,8.26704499 107.331959,8.26704499 C105.312658,8.26704499 103.634881,8.6679297 102.298579,9.46971115 C100.962276,10.2714926 99.8932503,11.3702137 99.0914688,12.7659073 C98.2896874,14.161601 97.6957841,15.8096826 97.3097412,17.7102016 C96.9236982,19.6107206 96.7009845,21.6596869 96.6415933,23.857162 L86.4857457,23.857162 C86.4857457,20.4124713 86.9460207,17.2202411 87.8665846,14.2803758 C88.7871485,11.3405105 90.1679736,8.80157397 92.0091014,6.6634901 C93.8502292,4.52540622 96.092214,2.84762946 98.7351233,1.63010947 C101.378033,0.412589489 104.451482,-0.196161372 107.955564,-0.196161372 C111.756602,-0.196161372 114.933984,0.427437071 117.487807,1.67465266 C120.041629,2.92186826 122.105443,4.49571195 123.67931,6.39623095 C125.253178,8.29674995 126.366746,10.3605638 127.02005,12.5877345 C127.673353,14.8149053 128,16.9381095 128,18.9574109 C128,21.4518421 127.613963,23.7086746 126.841877,25.727976 C126.069791,27.7472774 125.03046,29.6032252 123.723854,31.2958749 C122.417247,32.9885247 120.932489,34.5475208 119.269534,35.97291 C117.60658,37.3982993 115.884261,38.7345816 114.102524,39.9817972 C112.320788,41.2290128 110.539078,42.4168194 108.757341,43.5452525 C106.975605,44.6736857 105.327523,45.8021019 103.813047,46.9305351 C102.298571,48.0589682 100.977136,49.2319272 99.8487031,50.4494472 C98.7202699,51.6669672 97.9481956,52.9587068 97.5324571,54.3247048 L127.910914,54.3247048 L127.910914,63.4115159 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.854113,66.9453198 C54.3299482,65.1432292 53.0133883,63.518995 51.9542746,62.1263761 C40.8899947,47.578055 35.3091807,55.2383404 28.9941893,62.1263758 C22.6791979,69.0144112 30.6577916,74.5954741 24.6646171,79.4611023 C18.6714426,84.3267304 19.0414417,86.0133155 8.92654943,77.1119468 C-1.18834284,68.2105781 -1.88793412,65.7597832 2.7553553,60.6807286 C7.39864472,55.601674 11.2794845,63.5989423 20.7646627,54.5728325 C30.2498409,45.5467226 22.2819131,37.5470737 22.2819131,37.5470737 C22.2819131,37.5470737 42.0310399,-2.82433362 68.4206088,0.157393922 C94.8101776,3.13912147 58.4373806,-3.70356506 49.3898693,27.958066 C45.5161782,41.5139906 50.1107906,38.3197672 57.4560458,44.0453955 C59.1625767,45.3756367 63.8839488,48.777453 70.127165,53.3625321 C63.9980513,59.2416709 58.9704753,64.0315459 55.854113,66.9453198 Z M67.4952439,79.8919946 C83.5082212,96.9282402 105.237121,117.617674 112.611591,120.312493 C123.044132,124.12481 128.000001,117.170903 128,105.522947 C127.999999,98.3705516 104.170675,78.980486 84.0760493,63.7529565 C76.6683337,70.9090328 70.7000957,76.7055226 67.4952439,79.8919946 Z\"></path>\n <path d=\"M58.2852966,138.232794 L58.2852966,88.3943645 C56.318874,88.3923153 54.7254089,86.7952906 54.7254089,84.8344788 C54.7254089,82.8684071 56.3175932,81.2745911 58.2890859,81.2745911 L79.6408336,81.2745911 C81.608998,81.2745911 83.2045105,82.8724076 83.2045105,84.8344788 C83.2045105,86.7992907 81.614366,88.3923238 79.6446228,88.3943645 L79.6446228,88.3943646 L79.6446228,138.232794 C79.6446228,144.131009 74.8631748,148.912457 68.9649597,148.912457 C63.0667446,148.912457 58.2852966,144.131009 58.2852966,138.232794 Z M65.405072,-14.8423767 L72.5248474,-14.8423767 L76.0847351,-0.690681892 L72.5248474,6.51694947 L72.5248474,81.2745911 L65.405072,81.2745911 L65.405072,6.51694947 L61.8451843,-0.690681892 L65.405072,-14.8423767 Z\" transform=\"translate(68.964960, 67.035040) rotate(45.000000) translate(-68.964960, -67.035040) \"></path>\n </g>\n</svg>"
},
"$:/core/images/timestamp-off": {
"title": "$:/core/images/timestamp-off",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-timestamp-off tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/>\n </g>\n</svg>\n"
},
"$:/core/images/timestamp-on": {
"title": "$:/core/images/timestamp-on",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-timestamp-on tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178c-2.116 1.775-5.27 1.498-7.045-.613-1.772-2.11-1.498-5.27.616-7.047l9.95-8.348c2.115-1.774 5.27-1.5 7.045.618 1.775 2.108 1.498 5.27-.616 7.043l-9.95 8.348zM102.983 27.178c2.116 1.775 5.27 1.498 7.045-.613 1.772-2.11 1.498-5.27-.616-7.047l-9.95-8.348c-2.114-1.774-5.27-1.5-7.044.618-1.775 2.108-1.498 5.27.616 7.043l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/>\n </g>\n</svg>\n"
},
"$:/core/images/tip": {
"title": "$:/core/images/tip",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tip tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128.241818 C99.346224,128.241818 128,99.5880417 128,64.2418177 C128,28.8955937 99.346224,0.241817675 64,0.241817675 C28.653776,0.241817675 0,28.8955937 0,64.2418177 C0,99.5880417 28.653776,128.241818 64,128.241818 Z M75.9358659,91.4531941 C75.3115438,95.581915 70.2059206,98.8016748 64,98.8016748 C57.7940794,98.8016748 52.6884562,95.581915 52.0641341,91.4531941 C54.3299053,94.0502127 58.8248941,95.8192805 64,95.8192805 C69.1751059,95.8192805 73.6700947,94.0502127 75.9358659,91.4531941 L75.9358659,91.4531941 Z M75.9358659,95.9453413 C75.3115438,100.074062 70.2059206,103.293822 64,103.293822 C57.7940794,103.293822 52.6884562,100.074062 52.0641341,95.9453413 C54.3299053,98.5423599 58.8248941,100.311428 64,100.311428 C69.1751059,100.311428 73.6700947,98.5423599 75.9358659,95.9453413 L75.9358659,95.9453413 Z M75.9358659,100.40119 C75.3115438,104.529911 70.2059206,107.74967 64,107.74967 C57.7940794,107.74967 52.6884562,104.529911 52.0641341,100.40119 C54.3299053,102.998208 58.8248941,104.767276 64,104.767276 C69.1751059,104.767276 73.6700947,102.998208 75.9358659,100.40119 L75.9358659,100.40119 Z M75.9358659,104.893337 C75.3115438,109.022058 70.2059206,112.241818 64,112.241818 C57.7940794,112.241818 52.6884562,109.022058 52.0641341,104.893337 C54.3299053,107.490356 58.8248941,109.259423 64,109.259423 C69.1751059,109.259423 73.6700947,107.490356 75.9358659,104.893337 L75.9358659,104.893337 Z M64.3010456,24.2418177 C75.9193117,24.2418188 88.0000013,32.0619847 88,48.4419659 C87.9999987,64.8219472 75.9193018,71.7540963 75.9193021,83.5755932 C75.9193022,89.4486648 70.0521957,92.8368862 63.9999994,92.8368862 C57.947803,92.8368862 51.9731007,89.8295115 51.9731007,83.5755932 C51.9731007,71.1469799 39.9999998,65.4700602 40,48.4419647 C40.0000002,31.4138691 52.6827796,24.2418166 64.3010456,24.2418177 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/twitter": {
"title": "$:/core/images/twitter",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-twitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.6263422,115.803477 C27.0279663,115.803477 13.4398394,111.540813 1.99987456,104.234833 C4.02221627,104.472643 6.08004574,104.594302 8.16644978,104.594302 C20.277456,104.594302 31.4238403,100.47763 40.270894,93.5715185 C28.9590538,93.3635501 19.4123842,85.9189246 16.1230832,75.6885328 C17.7011365,75.9892376 19.320669,76.1503787 20.9862896,76.1503787 C23.344152,76.1503787 25.6278127,75.8359011 27.7971751,75.247346 C15.9709927,72.8821073 7.06079851,62.4745062 7.06079851,49.9982394 C7.06079851,49.8898938 7.06079851,49.7820074 7.06264203,49.67458 C10.5482779,51.6032228 14.5339687,52.7615103 18.7717609,52.8951059 C11.8355159,48.277565 7.2714207,40.3958845 7.2714207,31.4624258 C7.2714207,26.7434257 8.54621495,22.3200804 10.7713439,18.5169676 C23.5211299,34.0957738 42.568842,44.3472839 64.0532269,45.4210985 C63.6126256,43.5365285 63.3835682,41.5711584 63.3835682,39.5529928 C63.3835682,25.3326379 74.95811,13.8034766 89.2347917,13.8034766 C96.6697089,13.8034766 103.387958,16.930807 108.103682,21.9353619 C113.991886,20.780288 119.52429,18.6372496 124.518847,15.6866694 C122.588682,21.6993889 118.490075,26.7457211 113.152623,29.9327334 C118.381769,29.3102055 123.363882,27.926045 127.999875,25.8780385 C124.534056,31.0418981 120.151087,35.5772616 115.100763,39.2077561 C115.150538,40.3118708 115.175426,41.4224128 115.175426,42.538923 C115.175426,76.5663154 89.1744164,115.803477 41.6263422,115.803477\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/underline": {
"title": "$:/core/images/underline",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-underline tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M7,117.421488 L121.247934,117.421488 L121.247934,128 L7,128 L7,117.421488 Z M104.871212,98.8958333 L104.871212,0 L88.6117424,0 L88.6117424,55.8560606 C88.6117424,60.3194668 88.0060035,64.432115 86.7945076,68.1941288 C85.5830116,71.9561425 83.7657949,75.239885 81.342803,78.0454545 C78.9198111,80.8510241 75.8911167,83.0189317 72.2566288,84.5492424 C68.6221409,86.0795531 64.3182067,86.844697 59.344697,86.844697 C53.0959284,86.844697 48.1862552,85.0593613 44.6155303,81.4886364 C41.0448054,77.9179114 39.2594697,73.0720003 39.2594697,66.9507576 L39.2594697,0 L23,0 L23,65.0378788 C23,70.3939662 23.5419769,75.2717583 24.625947,79.6714015 C25.709917,84.0710447 27.5908957,87.864883 30.2689394,91.0530303 C32.9469831,94.2411776 36.4538925,96.6960141 40.7897727,98.4176136 C45.125653,100.139213 50.545422,101 57.0492424,101 C64.3182182,101 70.630655,99.5653553 75.9867424,96.6960227 C81.3428298,93.8266902 85.742407,89.33147 89.1856061,83.2102273 L89.5681818,83.2102273 L89.5681818,98.8958333 L104.871212,98.8958333 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-all-button": {
"title": "$:/core/images/unfold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,8.34884273 C84.1490432,6.89863875 82.1463102,6 79.9340286,6 L47.9482224,6 C43.5292967,6 39.9411255,9.581722 39.9411255,14 C39.9411255,18.4092877 43.5260249,22 47.9482224,22 L71.9411255,22 L71.9411255,45.9929031 C71.9411255,50.4118288 75.5228475,54 79.9411255,54 C84.3504132,54 87.9411255,50.4151006 87.9411255,45.9929031 L87.9411255,14.0070969 C87.9411255,11.7964515 87.0447363,9.79371715 85.5956548,8.34412458 Z\" transform=\"translate(63.941125, 30.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -30.000000) \"></path>\n <path d=\"M85.6571005,72.2899682 C84.2079177,70.8397642 82.2051847,69.9411255 79.9929031,69.9411255 L48.0070969,69.9411255 C43.5881712,69.9411255 40,73.5228475 40,77.9411255 C40,82.3504132 43.5848994,85.9411255 48.0070969,85.9411255 L72,85.9411255 L72,109.934029 C72,114.352954 75.581722,117.941125 80,117.941125 C84.4092877,117.941125 88,114.356226 88,109.934029 L88,77.9482224 C88,75.737577 87.1036108,73.7348426 85.6545293,72.2852501 Z\" transform=\"translate(64.000000, 93.941125) scale(1, -1) rotate(-45.000000) translate(-64.000000, -93.941125) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-button": {
"title": "$:/core/images/unfold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,11.3488427 C84.1490432,9.89863875 82.1463102,9 79.9340286,9 L47.9482224,9 C43.5292967,9 39.9411255,12.581722 39.9411255,17 C39.9411255,21.4092877 43.5260249,25 47.9482224,25 L71.9411255,25 L71.9411255,48.9929031 C71.9411255,53.4118288 75.5228475,57 79.9411255,57 C84.3504132,57 87.9411255,53.4151006 87.9411255,48.9929031 L87.9411255,17.0070969 C87.9411255,14.7964515 87.0447363,12.7937171 85.5956548,11.3441246 Z\" transform=\"translate(63.941125, 33.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -33.000000) \"></path>\n <path d=\"M85.6571005,53.4077172 C84.2079177,51.9575133 82.2051847,51.0588745 79.9929031,51.0588745 L48.0070969,51.0588745 C43.5881712,51.0588745 40,54.6405965 40,59.0588745 C40,63.4681622 43.5848994,67.0588745 48.0070969,67.0588745 L72,67.0588745 L72,91.0517776 C72,95.4707033 75.581722,99.0588745 80,99.0588745 C84.4092877,99.0588745 88,95.4739751 88,91.0517776 L88,59.0659714 C88,56.855326 87.1036108,54.8525917 85.6545293,53.4029991 Z\" transform=\"translate(64.000000, 75.058875) scale(1, -1) rotate(-45.000000) translate(-64.000000, -75.058875) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/up-arrow": {
"created": "20150316000544368",
"modified": "20150316000831867",
"tags": "$:/tags/Image",
"title": "$:/core/images/up-arrow",
"text": "<svg class=\"tc-image-up-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path transform=\"rotate(-135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25074c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056l0.00001,-0.00001z\" />\n</svg>\n \n"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/warning": {
"title": "$:/core/images/warning",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-warning tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M57.0717968,11 C60.1509982,5.66666667 67.8490018,5.66666667 70.9282032,11 L126.353829,107 C129.433031,112.333333 125.584029,119 119.425626,119 L8.57437416,119 C2.41597129,119 -1.43303051,112.333333 1.64617093,107 L57.0717968,11 Z M64,37 C59.581722,37 56,40.5820489 56,44.9935776 L56,73.0064224 C56,77.4211534 59.5907123,81 64,81 C68.418278,81 72,77.4179511 72,73.0064224 L72,44.9935776 C72,40.5788466 68.4092877,37 64,37 Z M64,104 C68.418278,104 72,100.418278 72,96 C72,91.581722 68.418278,88 64,88 C59.581722,88 56,91.581722 56,96 C56,100.418278 59.581722,104 64,104 Z\"></path>\n </g>\n</svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Discard changes to this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "fold tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Fold the body of this tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optional bars to fold and unfold tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "unfold tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Unfold the body of this tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "fold other tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Fold the bodies of other opened tiddlers"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "fold all tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Fold the bodies of all opened tiddlers"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "unfold all tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Unfold the bodies of all opened tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "help"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Show help panel"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import many types of file including text, image, TiddlyWiki or JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "tiddler manager"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "Open tiddler manager"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "new image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Create a new image tiddler"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "new Markdown tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Create a new Markdown tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "open in new window"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Open tiddler in new window"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choose the colour palette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "print page"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "Print the current page"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "ok"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirm changes to this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "timestamps"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "Choose whether modifications update timestamps"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "timestamps are on"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "Update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "timestamps are off"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "Don't update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "bold"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Apply bold formatting to selection"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "clear"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Clear image to solid colour"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "editor height"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Automatically adjust height to fit content"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixed height:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choose the height of the text editor"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "excise"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Perform excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Macro name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Title of new tiddler:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Replace excised text with:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tag new tiddler with the title of this tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warning: tiddler already exists"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise the selected text into a new tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "heading 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Apply heading level 1 formatting to lines containing selection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "heading 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Apply heading level 2 formatting to lines containing selection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "heading 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Apply heading level 3 formatting to lines containing selection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "heading 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Apply heading level 4 formatting to lines containing selection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "heading 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Apply heading level 5 formatting to lines containing selection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "heading 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Apply heading level 6 formatting to lines containing selection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italic"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Apply italic formatting to selection"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "line width"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Set line width for painting"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Create wikitext link"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "bulleted list"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Apply bulleted list formatting to lines containing selection"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "numbered list"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Apply numbered list formatting to lines containing selection"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "monospaced block"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Apply monospaced block formatting to lines containing selection"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "monospaced"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Apply monospaced character formatting to selection"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacity"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Set painting opacity"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "paint colour"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Set painting colour"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "picture"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insert picture"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "preview"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Show preview pane"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "preview type"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choose preview type"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "quote"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Apply quoted text formatting to lines containing selection"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "image size"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Height:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Resize image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Width:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Set image size"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "stamp"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Add your own"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insert a preconfigured snippet of text"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name as shown in menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "strikethrough"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Apply strikethrough formatting to selection"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "subscript"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Apply subscript formatting to selection"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "superscript"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Apply superscript formatting to selection"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "underline"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Apply underline formatting to selection"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "Text for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Type shortcut here"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "add shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Keyboard Shortcuts"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Manage keyboard shortcut assignments"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "No keyboard shortcuts assigned"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "remove keyboard shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "All platforms"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Macintosh platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Non-Macintosh platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Linux platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Non-Linux platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Windows platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Non-Windows platforms only"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|http://tiddlywiki.com/#SafeMode]] to restore normal operation."
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Get more plugins"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Install plugins from the official library"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "install"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Currently installed plugins:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Language pack plugins"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "No information provided"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "This plugin is not currently installed"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "open plugin library"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "close plugin library"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "reinstall"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme plugins"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "Permit automatic saving for the download saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "Enable Autosave for Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "These settings apply to the HTML5-compatible download saver"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "General"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "These settings apply to all the loaded savers"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot Saver"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Attempt to automatically save changes during editing when using a supporting saver"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Enable automatic ~CamelCase linking"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Enable or disable the editor toolbar:"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Show editor toolbar"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "Tiddler Info Panel Mode"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "Control when the tiddler info panel closes:"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "Tiddler info panel closes automatically"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "Tiddler info panel stays open until explicitly closed"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Instrumentation"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Enable performance instrumentation"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Style"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choose the style for toolbar buttons:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Borderless"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Boxed"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Rounded"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Default Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Specify which sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Opening Behaviour"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation from //within// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation from //outside// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Open above the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Open below the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Open at the top of the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Open at the bottom of the story river"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titles"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Optionally display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Do not display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Choose whether to link to tiddlers that do not exist yet"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Enable links to missing tiddlers"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "A sub-operator for the ''all'' filter operator."
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "A bitmap editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "Generic module type for general purpose JavaScript modules."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "A text editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Default button background"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Default button border"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Default button foreground"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Site title foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "output"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System fields"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "User fields"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "Target tiddler already exists"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "Static HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "A temporary storage field used in [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Non wiki-text tiddlers"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is important to make sure that you can reliably save changes. See http://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "Fetch tiddlers from wiki by URL",
"text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\n\nWith the \"file\" variant only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" variant, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nThe `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nThe `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from http://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"http://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files\n\n```\n--load <filepath>\n```\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "Saves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "Saves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.\n\nAt the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''port'' - port number to serve from (defaults to \"8080\")\n* ''roottiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''servetype'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''pathprefix'' - optional prefix for paths\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "The following tiddlers were imported:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details."
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Recent:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "count"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or use the 'Escape' key to cancel)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Cancel"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Username"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Password"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Repeat password"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwords do not match"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Set password"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Error"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "File changed on server"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter error"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax error in filter expression"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Error: Unknown operand for the 'is' filter operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Error loading plugin library"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive transclusion error in transclude widget"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Error retrieving skinny tiddler list"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Error saving to TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Error while saving"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest error code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Internal JavaScript Error"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Loading external text from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear you may be using a browser that doesn't support external text in this configuration. See http://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login to TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(none)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "Filter by tag:"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "Reverse order"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "Search"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "Search:"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "tags"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "tiddlers"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "Show:"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "Sort by:"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "Colour"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "Fields"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(none)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "Icon"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "Raw text"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "Tags"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "Tools"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified text"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" - click {{$:/core/images/edit-button}} to create"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "No"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Official ~TiddlyWiki Plugin Library"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "Include system tiddlers"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Count"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY at hh12:0mmam"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Yes"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "All matches:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Title matches:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Search"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "Search text too short"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "List of tiddlers by tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Macro definition",
"text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table with 4 columns by 3 rows",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table of Contents",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "You can tweak certain aspects of the ''Vanilla'' theme."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Sidebar layout"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixed story, fluid sidebar"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Fluid story, fixed sidebar"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Sticky titles"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Causes tiddler titles to \"stick\" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Wrap long lines in code blocks"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Settings"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Font family"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Code font family"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Page background image"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Page background image attachment"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Scroll with tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixed to window"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Page background image size"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Cover"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contain"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Sizes"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Font size"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Line height"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Font size for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Line height for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Story left position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Story top position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "how far the top margin of the story river<br>is from the top of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Story right"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "how far the left margin of the sidebar <br>is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Story width"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "the overall width of the story river"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddler width"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "within the story river"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Sidebar breakpoint"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Sidebar width"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "the width of the sidebar in fluid-fixed layout"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "References"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"title": "$:/core/modules/commander.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/build.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/clearpassword.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/editions.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/fetch.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tvar subcommand = this.params[0],\n\t\turl = this.params[1],\n\t\timportFilter = this.params[2] || \"[all[tiddlers]]\",\n\t\ttransformFilter = this.params[3] || \"\";\n\tswitch(subcommand) {\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: url,\n\t\t\t\timportFilter: importFilter,\n\t\t\t\ttransformFilter: transformFilter,\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: url,\n\t\t\t\timportFilter: importFilter,\n\t\t\t\ttransformFilter: transformFilter,\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback) {\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tbody = \"\";\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t body += chunk;\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(body,type,options);\n\t\t callback(null);\n\t } else {\n\t \tcallback(\"Error \" + response.statusCode + \" retrieving \" + url)\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options) {\n\t// Deserialise the HTML file and put the tiddlers in their own wiki\n\tvar self = this,\n\t\tincomingWiki = new $tw.Wiki(),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body,{});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter);\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/fetch.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/help.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/init.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar ext = path.extname(self.params[0]),\n\t\tstat = fs.statSync(self.params[0]),\n\t\ttiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count) {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/load.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/makelibrary.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/output.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/password.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savelibrarytiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savelibrarytiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"pathprefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length);\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers.authorization || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n};\n\nSimpleServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Check for the username and password if we've got one\n\tvar username = self.get(\"username\"),\n\t\tpassword = self.get(\"password\");\n\tif(username && password) {\n\t\t// Check they match\n\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\tvar servername = state.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\";\n\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + servername + '\"'\n\t\t\t});\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Set the encoding for the incoming request\n\t// TODO: Presumably this would need tweaking if we supported PUTting binary tiddlers\n\trequest.setEncoding(\"utf8\");\n\t// Dispatch the appropriate method\n\tswitch(request.method) {\n\t\tcase \"GET\": // Intentional fall-through\n\t\tcase \"DELETE\":\n\t\t\troute.handler(request,response,state);\n\t\t\tbreak;\n\t\tcase \"PUT\":\n\t\t\tvar data = \"\";\n\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\tdata += chunk.toString();\n\t\t\t});\n\t\t\trequest.on(\"end\",function() {\n\t\t\t\tstate.data = data;\n\t\t\t\troute.handler(request,response,state);\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\t\nSimpleServer.prototype.listen = function(port,host) {\n\thttp.createServer(this.requestHandler.bind(this)).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields.revision) {\n\t\t\t\tdelete fields.revision;\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\", {\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6] || \"127.0.0.1\",\n\t\tpathprefix = this.params[7];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password,\n\t\tpathprefix: pathprefix\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/server.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/setfield.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/unpackplugin.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/verbose.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/version.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"title": "$:/core/modules/config.js",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"title": "$:/core/modules/deserializers.js",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/editor/engines/framed.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/framed.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/engines/simple.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/simple.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/factory.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag);\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\t\t\t\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"title": "$:/core/modules/editor/factory.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/operations/bitmap/clear.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/clear.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/resize.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/resize.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/text/excise.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/excise.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/make-link.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/make-link.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/prefix-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== event.paramObject.count) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/prefix-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-all.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-all.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix unless they comprise the entire text\n\t\t\tif(operation.selStart > event.paramObject.prefix.length || (operation.selEnd + event.paramObject.suffix.length) < operation.text.length ) {\n\t\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\t\toperation.replacement = \"\";\n\t\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t\t}\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/filters/addprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addsuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/after.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/current.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/missing.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/orphans.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/shadows.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tags.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tiddlers.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/all.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/backlinks.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/before.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/commands.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/count.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
"title": "$:/core/modules/filters/count.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/days.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/days.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\t\tvalue,values = {},\n\t\tfield = operator.operand || \"title\";\n\tif(operator.suffix !== \"list-item\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/each.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/eachday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editiondescription.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editiondescription.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editions.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/decodeuricomponent.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(decodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(decodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/decodeuricomponent.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/enlist.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar list = $tw.utils.parseStringArray(operator.operand);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/enlist.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/field.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/fields.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/get.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getindex.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/getindex.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/has.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/haschanged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/haschanged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/indexes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/insertbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/insertbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/current.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/image.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/missing.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/orphan.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/shadow.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/system.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tag.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tiddler.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/is.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/limit.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/links.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/list.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/listed.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\t\t\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"title": "$:/core/modules/filters/listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/minlength.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/minlength.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/modules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/moduletypes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/next.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/plugintiddlers.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/prefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/previous.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/regexp.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removeprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removesuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sameday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffix) {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: operator.suffix\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/search.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/shadowsource.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sort.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/splitbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/storyviews.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/suffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !tiddler.hasTag(operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && tiddler.hasTag(operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tag.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tagging.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
"title": "$:/core/modules/filters/tags.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/title.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/untagged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/wikiparserrules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/wikiparserrules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/x-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n /*jslint node: true, browser: true */\n /*global $tw: false */\n \"use strict\";\n\n /*\n Fetch titles from the current list\n */\n var prepare_results = function (source) {\n var results = [];\n source(function (tiddler, title) {\n results.push(title);\n });\n return results;\n };\n\n /*\n Moves a number of items from the tail of the current list before the item named in the operand\n */\n exports.putbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list after the item named in the operand\n */\n exports.putafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Replaces the item named in the operand with a number of items from the tail of the current list\n */\n exports.replace = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -count) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list to the head of the list\n */\n exports.putfirst = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(-count).concat(results.slice(0, -count));\n };\n\n /*\n Moves a number of items from the head of the current list to the tail of the list\n */\n exports.putlast = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(count).concat(results.slice(0, count));\n };\n\n /*\n Moves the item named in the operand a number of places forward or backward in the list\n */\n exports.move = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1,\n marker = results.splice(index, 1),\n offset = (index + count) > 0 ? index + count : 0;\n return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n };\n\n /*\n Returns the items from the current list that are after the item named in the operand\n */\n exports.allafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1 || index > (results.length - 2)) ? [] :\n (operator.suffix) ? results.slice(index) :\n results.slice(index + 1);\n };\n\n /*\n Returns the items from the current list that are before the item named in the operand\n */\n exports.allbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index <= 0) ? [] :\n (operator.suffix) ? results.slice(0, index + 1) :\n results.slice(0, index);\n };\n\n /*\n Appends the items listed in the operand array to the tail of the current list\n */\n exports.append = function (source, operator) {\n var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || append.length;\n return (append.length === 0) ? results :\n (operator.prefix) ? results.concat(append.slice(-count)) :\n results.concat(append.slice(0, count));\n };\n\n /*\n Prepends the items listed in the operand array to the head of the current list\n */\n exports.prepend = function (source, operator) {\n var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || prepend.length;\n return (prepend.length === 0) ? results :\n (operator.prefix) ? prepend.slice(-count).concat(results) :\n prepend.slice(0, count).concat(results);\n };\n\n /*\n Returns all items from the current list except the items listed in the operand array\n */\n exports.remove = function (source, operator) {\n var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || array.length,\n p,\n len,\n index;\n len = array.length - 1;\n for (p = 0; p < count; ++p) {\n if (operator.prefix) {\n index = results.indexOf(array[len - p]);\n } else {\n index = results.indexOf(array[p]);\n }\n if (index !== -1) {\n results.splice(index, 1);\n }\n }\n return results;\n };\n\n /*\n Returns all items from the current list sorted in the order of the items in the operand array\n */\n exports.sortby = function (source, operator) {\n var results = prepare_results(source);\n if (!results || results.length < 2) {\n return results;\n }\n var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n results.sort(function (a, b) {\n return lookup.indexOf(a) - lookup.indexOf(b);\n });\n return results;\n };\n\n /*\n Removes all duplicate items from the current list\n */\n exports.unique = function (source, operator) {\n var results = prepare_results(source);\n var set = results.reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n return a;\n }, []);\n return set;\n };\n})();\n",
"title": "$:/core/modules/filters/x-listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter\",function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/filters.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/info/platform.js": {
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\t// Document location\n\tif($tw.browser) {\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"title": "$:/core/modules/info/platform.js",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tlookupName(\"shortcuts\");\n\t\t\t\tlookupName($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\");\n\t\t\t\tlookupName($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\t\t\t\tlookupName($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
"title": "$:/core/modules/keyboard.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/language.js": {
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
"title": "$:/core/modules/language.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"title": "$:/core/modules/macros/changecount.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"title": "$:/core/modules/macros/contrastcolour.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"title": "$:/core/modules/macros/csvtiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/displayshortcuts.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/macros/displayshortcuts.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/dumpvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/dumpvariables.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to dump all active variable values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"dumpvariables\";\n\nexports.params = [\n];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\tvar output = [\"|!Variable |!Value |\"],\n\t\tvariables = [], variable;\n\tfor(variable in this.variables) {\n\t\tvariables.push(variable);\n\t}\n\tvariables.sort();\n\tfor(var index=0; index<variables.length; index++) {\n\t\tvar variable = variables[index];\n\t\toutput.push(\"|\" + variable + \" |<input size=50 value=<<\" + variable + \">>/> |\")\n\t}\n\treturn output.join(\"\\n\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/dumpvariables.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddler.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\treturn $tw.utils.makeDataUri(text,type);\n};\n\n})();\n",
"title": "$:/core/modules/macros/makedatauri.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/now.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"title": "$:/core/modules/macros/qualify.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/resolvepath.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
"title": "$:/core/modules/macros/resolvepath.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"title": "$:/core/modules/macros/version.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/audioparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/csvparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/htmlparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/imageparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/utils/parseutils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/pdfparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/pdfparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/textparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/textparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/videoparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/videoparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[http://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [http://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [http://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|http://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[http://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|http://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/syslink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"title": "$:/core/modules/pluginswitcher.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tthis.numChanges = 0;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\",\n\t\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"title": "$:/core/modules/saver-handler.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/andtidwiki.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/beaker.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar url = (location.toString()).split(\"#\")[0];\n\tdat.stat(url).then(function(value) {\n\t\tif(value.type === \"directory\") {\n\t\t\turl = url + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(url,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\t\t\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.dat;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/beaker.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\tfilename = document.location.pathname.substr(p+1);\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/download.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/fsosaver.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/manualdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/msdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/put.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err, data, xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\t// Retrieve ETag if available\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"HEAD\",\n\t\tcallback: function(err, data, xhr) {\n\t\t\tif(!err) {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t}\n\t\t}\n\t});\n};\n\nPutSaver.prototype.uri = function() {\n\treturn encodeURI(document.location.toString().split(\"#\")[0]);\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text, method, callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = { \"Content-Type\": \"text/html;charset=UTF-8\" };\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err, data, xhr) {\n\t\t\tif(err) {\n\t\t\t\tcallback(err);\n\t\t\t} if(xhr.status === 200 || xhr.status === 201) {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tcallback(null); // success\n\t\t\t} else if(xhr.status === 412) { // edit conflict\n\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\tcallback(message);\n\t\t\t} else {\n\t\t\t\tcallback(xhr.responseText); // fail\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/put.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyfox.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyie.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"title": "$:/core/modules/savers/twedit.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/upload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/browser-messaging.js": {
"text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\tconsole.log(\"browser-messaging: \",document.location.toString())\n\t\tconsole.log(\"browser-messaging: Received message from\",event.origin);\n\t\tconsole.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
"title": "$:/core/modules/browser-messaging.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"title": "$:/core/modules/startup/commands.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/favicon.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"title": "$:/core/modules/startup/info.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"title": "$:/core/modules/startup/load-modules.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/startup/password.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t})();\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = DRAFT_TIDDLER_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
"title": "$:/core/modules/startup/render.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tif(document[fullscreen._fullscreenElement]) {\n\t\t\t\tdocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tdocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup/rootwidget.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.appVersion);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-US\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t}\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki, dirtyTracking: !$tw.syncadaptor});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers();\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permalink\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permaview\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// If a target tiddler was specified add it to the history stack\n\tif(target && target !== \"\") {\n\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t}\n\t\t$tw.wiki.addToHistory(target);\n\t} else if(storyList.length > 0) {\n\t\t$tw.wiki.addToHistory(storyList[0]);\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\tif(options.updateAddressBar !== \"no\") {\n\t\t// Get the story and the history stack\n\t\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\t\ttargetTiddler = \"\";\n\t\tif(options.targetTiddler) {\n\t\t\ttargetTiddler = options.targetTiddler;\n\t\t} else {\n\t\t\t// The target tiddler is the one at the top of the stack\n\t\t\tif(historyList.length > 0) {\n\t\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t\t}\n\t\t\t// Blank the target tiddler if it isn't present in the story\n\t\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\t\ttargetTiddler = \"\";\n\t\t\t}\n\t\t}\n\t\t// Assemble the location hash\n\t\tif(options.updateAddressBar === \"permalink\") {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t} else {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t}\n\t\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\t\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\t\tif(options.updateHistory === \"yes\") {\n\t\t\t\t// Assign the location hash so that history is updated\n\t\t\t\twindow.location.hash = $tw.locationHash;\n\t\t\t} else {\n\t\t\t\t// We use replace so that browser history isn't affected\n\t\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t\t}\n\t\t}\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/story.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/windows.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = title;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"title": "$:/core/modules/startup/windows.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/story.js": {
"text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
"title": "$:/core/modules/story.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/storyviews/classic.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"title": "$:/core/modules/storyviews/classic.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"title": "$:/core/modules/storyviews/pop.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
"title": "$:/core/modules/storyviews/zoomin.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || this.throttleInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || this.pollTimerInterval;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"));\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title),\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t});\n};\n\n/*\nCreate an tiddlerInfo structure if it doesn't already exist\n*/\nSyncer.prototype.createTiddlerInfo = function(title) {\n\tif(!$tw.utils.hop(this.tiddlerInfo,title)) {\n\t\tthis.tiddlerInfo[title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1,\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t}\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields,hasBeenLazyLoaded) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title),\n\t\thasBeenLazyLoaded: hasBeenLazyLoaded !== undefined ? hasBeenLazyLoaded : true\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert($tw.language.getString(\"Error/RetrievingSkinny\") + \":\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields,false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Don't lazy load the same tiddler twice\n\tvar info = this.tiddlerInfo[title];\n\tif(!info || !info.hasBeenLazyLoaded) {\n\t\tthis.createTiddlerInfo(title);\n\t\tthis.tiddlerInfo[title].hasBeenLazyLoaded = true;\n\t\t// Queue up a sync task to load this tiddler\n\t\tthis.enqueueSyncTask({\n\t\t\ttype: \"load\",\n\t\t\ttitle: title\n\t\t});\t\t\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tthis.createTiddlerInfo(task.title);\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields,true);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"title": "$:/core/modules/syncer.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\nexports.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
"title": "$:/core/modules/tiddler.js",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/plugins.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/system.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/themetweaks.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/crypto.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/crypto.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/animations/slide.js",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"title": "$:/core/modules/utils/dom/animator.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/browser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight;\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\ttry {\n\t\tif(window.localStorage) {\n\t\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t\t}\n\t} catch(e) {\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\ttry {\n\t\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/dragndrop.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [];\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/dragndrop.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e);\n\t}\n\treturn request;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/http.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
"title": "$:/core/modules/utils/dom/keyboard.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"title": "$:/core/modules/utils/dom/modal.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"title": "$:/core/modules/utils/dom/notifier.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\t// Store the popup details if not already there\n\tif(this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode\n\t\t});\n\t}\n\t// Set the state tiddler\n\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"title": "$:/core/modules/utils/dom/popup.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = $tw.utils.getScrollPosition();\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar clientBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\ttop: clientBounds.top + scrollPosition.y,\n\t\t\twidth: clientBounds.width,\n\t\t\theight: clientBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t// targetPos/targetSize - position and size of the target element\n\t// currentPos/currentSize - position and size of the current scroll viewport\n\t// returns: new position of the scroll viewport\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\tnewPos = targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\tnewPos = currentPos;\n\t\t\t}\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if the position has changed\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"title": "$:/core/modules/utils/dom/scroller.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/edition-info.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
"title": "$:/core/modules/utils/edition-info.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/fakedom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this.style) {\n\t\t\t\tstyle.push(s + \":\" + this.style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\")\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\tconsole.log(booboo)\n\t\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\t\t\t\t\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get formattedTextContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"title": "$:/core/modules/utils/fakedom.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = new Buffer(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/utils/filesystem.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/logger.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName) {\n\tthis.componentName = componentName || \"\";\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)));\n\t}\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\t// Prepare the text of the alert\n\tvar text = Array.prototype.join.call(arguments,\" \");\n\t// Create alert tiddlers in the browser\n\tif($tw.browser) {\n\t\t// Check if there is an existing alert with the same text and the same component\n\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\talertFields,\n\t\t\texistingCount,\n\t\t\tself = this;\n\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t}\n\t\t});\n\t\tif(alertFields) {\n\t\t\texistingCount = alertFields.count || 1;\n\t\t} else {\n\t\t\talertFields = {\n\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\ttext: text,\n\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\tcomponent: this.componentName\n\t\t\t};\n\t\t\texistingCount = 0;\n\t\t}\n\t\talertFields.modified = new Date();\n\t\tif(++existingCount > 1) {\n\t\t\talertFields.count = existingCount;\n\t\t} else {\n\t\t\talertFields.count = undefined;\n\t\t}\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t// Log the alert as well\n\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t} else {\n\t\t// Print an orange message to the console if not in the browser\n\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
"title": "$:/core/modules/utils/logger.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/utils/parsetree.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap of current values of measurements\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n}\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tself.measures = {};\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\tfor(var m in self.measures) {\n\t\t\t\tself.logger.log(\"+\" + m + \": \" + self.measures[m].toFixed(2) + \"ms\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments),\n\t\t\t\tvalue = self.measures[name] || 0;\n\t\t\tself.measures[name] = value + $tw.utils.timer(startTime);\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"title": "$:/core/modules/utils/performance.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"title": "$:/core/modules/utils/pluginmaker.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\tconsole.log($tw.node ? \"\\x1b[1;33m\" + text + \"\\x1b[0m\" : text);\n};\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nCheck if an array is equal by value and by reference.\n*/\nexports.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn converter(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn converter(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\t\t\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nTransliterate string from eg. Cyrillic Russian to Latin\n*/\nvar transliterationPairs = {\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.split(\"\").map(function(char) {\n\t\treturn transliterationPairs[char] || char;\n\t}).join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/utils/utils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-createtiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.generateNewTitle(this.actionBaseTitle),\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-createtiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletefield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletefield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-listops.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-navigate.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-sendmessage.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-setfield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/browse.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = this.popup && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(this,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/button.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();",
"title": "$:/core/modules/widgets/checkbox.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/codeblock.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/count.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/draggable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedTiddlers.tag || changedTiddlers[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/draggable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/droppable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t]);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/droppable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),function(fieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(fieldsArray)});\n\t\t});\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/dropzone.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-binary.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370;\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-bitmap.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-shortcut.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-shortcut.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
"title": "$:/core/modules/widgets/edit-text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/element.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/encrypt.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/entity.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler({title: this.mangleTitle, tags: tag});\t\t\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fieldmangler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fields.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/image.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/importvariables.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.key = this.getAttribute(\"key\");\n\tthis.tag = this.getAttribute(\"tag\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/keyboard.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar MISSING_LINK_CONFIG_TITLE = \"$:/config/MissingLinks\";\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = ($tw.wiki.getTiddlerText(MISSING_LINK_CONFIG_TITLE,\"yes\") === \"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip || changedTiddlers[MISSING_LINK_CONFIG_TITLE]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/link.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage && this.parentWidget) {\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\tif(this.catchActions) {\n\t\tthis.invokeActionString(this.catchActions,this);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/linkcatcher.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
"title": "$:/core/modules/widgets/list.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/macrocall.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/macrocall.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\t// Quit if we cannot get hold of the story list\n\tif(!storyList) {\n\t\treturn;\n\t}\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(title);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(fromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(this.getAttribute(\"openLinkFromInsideRiver\",\"below\")) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,title);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle;\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\texistingTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\t\t\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n// \nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/navigator.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/password.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tc-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/radio.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/raw.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.readMatchState(state);\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.readMatchState(state);\n\t\t\tthis.isOpen = !this.isOpen;\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false,\n\t\t\tcurrentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\trefreshed = true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/reveal.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/scrollable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tif(values.indexOf(select.children[i].value) != -1) {\n\t\t\t\tselect.children[i].selected = true;\n\t\t\t}\n\t\t}\n\t\t\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/select.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(!this.setValue) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select ||changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/set.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/tiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/transclude.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/vars.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/vars.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function() {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function() {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/view.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value;\n\t\t// Substitute any parameters specified in the definition\n\t\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\t\tvalue = this.substituteVariableReferences(value);\n\t\treturn value;\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = $tw.utils.replaceString(text,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
"title": "$:/core/modules/widgets/widget.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/wikify.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/wikify.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki-bulkops.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = (tiddler.fields.tags || []).slice(0),\n\t\t\t\t\tlist = (tiddler.fields.list || []).slice(0),\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
"title": "$:/core/modules/wiki-bulkops.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/wiki.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tvar currPos = titles.indexOf(title),\n\t\t\t\tnewPos = -1,\n\t\t\t\ttiddler = this.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type || \"text/vnd.tiddlywiki\",tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n\tfield: If specified, restricts the search to the specified field\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\tmatch = false;\n\t\t\tif(options.field) {\n\t\t\t\tmatch = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));\n\t\t\t} else {\n\t\t\t\t// Search title, tags and body\n\t\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t\t}\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\t}\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n\n",
"title": "$:/core/modules/wiki.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastLight": {
"title": "$:/palettes/ContrastLight",
"name": "Contrast (Light)",
"description": "High contrast and unambiguous (light version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastDark": {
"title": "$:/palettes/ContrastDark",
"name": "Contrast (Dark)",
"description": "High contrast and unambiguous (dark version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/DarkPhotos": {
"created": "20150402111612188",
"description": "Good with dark photo backgrounds",
"modified": "20150402112344080",
"name": "DarkPhotos",
"tags": "$:/tags/Palette",
"title": "$:/palettes/DarkPhotos",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarFlare": {
"title": "$:/palettes/SolarFlare",
"name": "Solar Flare",
"description": "Warm, relaxing earth colours",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/library/sjcl.js/license": {
"title": "$:/library/sjcl.js/license",
"type": "text/plain",
"text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-text": {
"title": "$:/core/templates/canonical-uri-external-text",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<<renderContent>>\n</$importvariables>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\"><<renderContent>></$importvariables>"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/json-tiddler": {
"title": "$:/core/templates/json-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/raw-static-tiddler": {
"title": "$:/core/templates/raw-static-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-all": {
"title": "$:/core/save/lazy-all",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/single.tiddler.window": {
"title": "$:/core/templates/single.tiddler.window",
"text": "<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"tempCurrentTiddler\" value=<<currentTiddler>>>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=<<tempCurrentTiddler>>>\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</$importvariables>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"type": "text/vnd.tiddlywiki",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>\n</$importvariables>`\n</section>\n</body>\n</html>\n`"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AboveStory/tw2-plugin-check": {
"title": "$:/core/ui/AboveStory/tw2-plugin-check",
"tags": "$:/tags/AboveStory",
"text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"icon": "$:/core/images/advanced-search-button",
"color": "#bbb",
"text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
},
"$:/core/ui/Components/plugin-info": {
"title": "$:/core/ui/Components/plugin-info",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$reveal type=\"nomatch\" text=\"\" state=\"!!list\">\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default=\"readme\" template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=\"!!list\">\n<<lingo NoInformation/Hint>>\n</$reveal>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
},
"$:/core/ui/Components/tag-link": {
"title": "$:/core/ui/Components/tag-link",
"text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/KeyboardShortcuts": {
"title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip=<<lingo Remove/Hint>>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n×\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[all[tiddlers+shadows][$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>prefix[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Modals/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
"subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
"text": "\\define install-plugin-button()\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\"\"\">\n{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\n</$list>\n</$button>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1><$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<<install-plugin-button>>\n</div>\n</div>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\"\"\">\n<em>\n{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}\n</em>\n</$list>\n</div>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[description]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<div class=\"tc-plugin-library\">\n\n!! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n//<$view field=\"url\"/>//\n\n<$transclude/>\n\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n\n<<display-server-connection>>\n</div>\n</$list>\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<div>\n<<plugin-library-listing>>\n</div>\n\n</$importvariables>\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/snippets/paletteeditor}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Parsing": {
"title": "$:/core/ui/ControlPanel/Parsing",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
},
"$:/core/ui/ControlPanel/Plugins/Add/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
"text": "<<display-server-assets language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
"text": "<<display-server-assets plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
"text": "<<display-server-assets theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green\" style=\"background:blue;\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
"text": "<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
"text": "<<plugin-table plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
"text": "<<plugin-table theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
},
"$:/core/ui/ControlPanel/Saving/DownloadSaver": {
"title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Saving/General": {
"title": "$:/core/ui/ControlPanel/Saving/General",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
"list-before": "",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Saving/TiddlySpot": {
"title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n"
},
"$:/core/buttonstyles/Borderless": {
"title": "$:/core/buttonstyles/Borderless",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
"text": "tc-btn-invisible"
},
"$:/core/buttonstyles/Boxed": {
"title": "$:/core/buttonstyles/Boxed",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
"text": "tc-btn-boxed"
},
"$:/core/buttonstyles/Rounded": {
"title": "$:/core/buttonstyles/Rounded",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
"text": "tc-btn-rounded"
},
"$:/core/ui/ControlPanel/Settings/CamelCase": {
"title": "$:/core/ui/ControlPanel/Settings/CamelCase",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
"caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
"title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
"title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/MissingLinks": {
"title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
"title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/TitleLinks": {
"title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
},
"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"icon": "$:/core/images/options-button",
"color": "#bbb",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body/preview/output": {
"title": "$:/core/ui/EditTemplate/body/preview/output",
"tags": "$:/tags/EditPreview",
"caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
"text": "<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body/toolbar/button": {
"title": "$:/core/ui/EditTemplate/body/toolbar/button",
"text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field-inner()\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\" $name=<<name>> $value=<<value>>/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n\\end\n\n\\define new-field()\n<$set name=\"name\" value={{$:/temp/newfieldname}}>\n<$set name=\"value\" value={{$:/temp/newfieldvalue}}>\n<<new-field-inner>>\n</$set>\n</$set>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">×</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n\\end\n\n\\define tag-picker-actions()\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n</$list>\n</$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</div>\n"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\"/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[is[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n\n\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\"/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>>>\n<$fieldmangler>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</$fieldmangler>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button>\n</$fieldmangler>\n"
},
"$:/core/ui/EditorToolbar/bold": {
"title": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}}",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
},
"$:/core/ui/EditorToolbar/clear-dropdown": {
"title": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
},
"$:/core/ui/EditorToolbar/clear": {
"title": "$:/core/ui/EditorToolbar/clear",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/erase",
"caption": "{{$:/language/Buttons/Clear/Caption}}",
"description": "{{$:/language/Buttons/Clear/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/editor-height-dropdown": {
"title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
},
"$:/core/ui/EditorToolbar/editor-height": {
"title": "$:/core/ui/EditorToolbar/editor-height",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/fixed-height",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
"description": "{{$:/language/Buttons/EditorHeight/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/excise-dropdown": {
"title": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
},
"$:/core/ui/EditorToolbar/excise": {
"title": "$:/core/ui/EditorToolbar/excise",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/excise",
"caption": "{{$:/language/Buttons/Excise/Caption}}",
"description": "{{$:/language/Buttons/Excise/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((excise))",
"dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/heading-1": {
"title": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}}",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-2": {
"title": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}}",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-3": {
"title": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}}",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}}",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}}",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}}",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
},
"$:/core/ui/EditorToolbar/italic": {
"title": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}}",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
},
"$:/core/ui/EditorToolbar/line-width-dropdown": {
"title": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/line-width": {
"title": "$:/core/ui/EditorToolbar/line-width",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/line-width",
"caption": "{{$:/language/Buttons/LineWidth/Caption}}",
"description": "{{$:/language/Buttons/LineWidth/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
},
"$:/core/ui/EditorToolbar/link-dropdown": {
"title": "$:/core/ui/EditorToolbar/link-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define link-actions()\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"make-link\"\n\ttext={{$(linkTiddler)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(searchTiddler)$}}\n/>\n{{$:/core/images/chevron-right}}\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n</$button>\n\\end\n\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
},
"$:/core/ui/EditorToolbar/link": {
"title": "$:/core/ui/EditorToolbar/link",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/link",
"caption": "{{$:/language/Buttons/Link/Caption}}",
"description": "{{$:/language/Buttons/Link/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((link))",
"dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/list-bullet": {
"title": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}}",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-number": {
"title": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}}",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-block": {
"title": "$:/core/ui/EditorToolbar/mono-block",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-block",
"caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
"description": "{{$:/language/Buttons/MonoBlock/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((mono-block))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-line": {
"title": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}}",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/core/ui/EditorToolbar/more-dropdown": {
"title": "$:/core/ui/EditorToolbar/more-dropdown",
"text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
},
"$:/core/ui/EditorToolbar/more": {
"title": "$:/core/ui/EditorToolbar/more",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/down-arrow",
"caption": "{{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"condition": "[<targetTiddler>]",
"dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/opacity-dropdown": {
"title": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/EditorToolbar/opacity": {
"title": "$:/core/ui/EditorToolbar/opacity",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/opacity",
"caption": "{{$:/language/Buttons/Opacity/Caption}}",
"description": "{{$:/language/Buttons/Opacity/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
},
"$:/core/ui/EditorToolbar/paint-dropdown": {
"title": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/paint": {
"title": "$:/core/ui/EditorToolbar/paint",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/paint",
"caption": "{{$:/language/Buttons/Paint/Caption}}",
"description": "{{$:/language/Buttons/Paint/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
},
"$:/core/ui/EditorToolbar/picture-dropdown": {
"title": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/picture": {
"title": "$:/core/ui/EditorToolbar/picture",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/picture",
"caption": "{{$:/language/Buttons/Picture/Caption}}",
"description": "{{$:/language/Buttons/Picture/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((picture))",
"dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/preview-type-dropdown": {
"title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
"text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/preview-type": {
"title": "$:/core/ui/EditorToolbar/preview-type",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/chevron-down",
"caption": "{{$:/language/Buttons/PreviewType/Caption}}",
"description": "{{$:/language/Buttons/PreviewType/Hint}}",
"condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
"button-classes": "tc-text-editor-toolbar-item-adjunct",
"dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
},
"$:/core/ui/EditorToolbar/preview": {
"title": "$:/core/ui/EditorToolbar/preview",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/preview-open",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/Preview/Caption}}",
"description": "{{$:/language/Buttons/Preview/Hint}}",
"condition": "[<targetTiddler>]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((preview))",
"text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/quote": {
"title": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}}",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
},
"$:/core/ui/EditorToolbar/size-dropdown": {
"title": "$:/core/ui/EditorToolbar/size-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
},
"$:/core/ui/EditorToolbar/size": {
"title": "$:/core/ui/EditorToolbar/size",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/size",
"caption": "{{$:/language/Buttons/Size/Caption}}",
"description": "{{$:/language/Buttons/Size/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/stamp-dropdown": {
"title": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
},
"$:/core/ui/EditorToolbar/stamp": {
"title": "$:/core/ui/EditorToolbar/stamp",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/stamp",
"caption": "{{$:/language/Buttons/Stamp/Caption}}",
"description": "{{$:/language/Buttons/Stamp/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((stamp))",
"dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/strikethrough": {
"title": "$:/core/ui/EditorToolbar/strikethrough",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/strikethrough",
"caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
"description": "{{$:/language/Buttons/Strikethrough/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((strikethrough))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
},
"$:/core/ui/EditorToolbar/subscript": {
"title": "$:/core/ui/EditorToolbar/subscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/subscript",
"caption": "{{$:/language/Buttons/Subscript/Caption}}",
"description": "{{$:/language/Buttons/Subscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((subscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
},
"$:/core/ui/EditorToolbar/superscript": {
"title": "$:/core/ui/EditorToolbar/superscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/superscript",
"caption": "{{$:/language/Buttons/Superscript/Caption}}",
"description": "{{$:/language/Buttons/Superscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((superscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
},
"$:/core/ui/EditorToolbar/underline": {
"title": "$:/core/ui/EditorToolbar/underline",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/underline",
"caption": "{{$:/language/Buttons/Underline/Caption}}",
"description": "{{$:/language/Buttons/Underline/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((underline))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/StoryList": {
"title": "$:/core/Filters/StoryList",
"tags": "$:/tags/Filter",
"filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
"description": "{{$:/language/Filters/StoryList}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/Filters/TypedTiddlers": {
"title": "$:/core/Filters/TypedTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Filters/TypedTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>>>\n<$transclude subtiddler=<<payloadTiddler>> mode=\"block\"/>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
},
"$:/Manager/ItemMain/Fields": {
"title": "$:/Manager/ItemMain/Fields",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/Fields}}",
"text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/Manager/ItemMain/RawText": {
"title": "$:/Manager/ItemMain/RawText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/RawText}}",
"text": "<pre><code><$view/></code></pre>\n"
},
"$:/Manager/ItemMain/WikifiedText": {
"title": "$:/Manager/ItemMain/WikifiedText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/WikifiedText}}",
"text": "<$transclude mode=\"block\"/>\n"
},
"$:/Manager/ItemSidebar/Colour": {
"title": "$:/Manager/ItemSidebar/Colour",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Colour}}",
"text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Icon": {
"title": "$:/Manager/ItemSidebar/Icon",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Icon}}",
"text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tags": {
"title": "$:/Manager/ItemSidebar/Tags",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tags}}",
"text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[is[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tools": {
"title": "$:/Manager/ItemSidebar/Tools",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tools}}",
"text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
},
"$:/Manager": {
"title": "$:/Manager",
"icon": "$:/core/images/list",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Languages": {
"title": "$:/core/ui/MoreSideBar/Plugins/Languages",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Theme": {
"title": "$:/core/ui/MoreSideBar/Plugins/Theme",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/fold-all": {
"title": "$:/core/ui/Buttons/fold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
"description": "{{$:/language/Buttons/FoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down tc-drop-down-language-chooser\">\n<$linkcatcher to=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$link>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/language\" text=<<currentTiddler>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/language\" text=<<currentTiddler>>>\n \n</$reveal>\n</span>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/manager": {
"title": "$:/core/ui/Buttons/manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
"description": "{{$:/language/Buttons/Manager/Hint}}",
"text": "\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-image": {
"title": "$:/core/ui/Buttons/new-image",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
"description": "{{$:/language/Buttons/NewImage/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"image/jpeg\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=\"$(journalTags)$\" text=\"$(journalText)$\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"journalText\" value={{$:/config/NewJournal/Text}}>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/palette": {
"title": "$:/core/ui/Buttons/palette",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
"description": "{{$:/language/Buttons/Palette/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/print": {
"title": "$:/core/ui/Buttons/print",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
"description": "{{$:/language/Buttons/Print/Hint}}",
"text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/view\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$link to=<<storyview>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/view\" text=<<storyview>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/view\" text=<<storyview>>>\n \n</$reveal>\n</span>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/></$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\" variable=\"themeTitle\">\n<$link to=<<themeTitle>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/theme\" text=<<themeTitle>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/theme\" text=<<themeTitle>>>\n \n</$reveal>\n</span>\n<$view tiddler=<<themeTitle>> field=\"name\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/timestamp": {
"title": "$:/core/ui/Buttons/timestamp",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
"description": "{{$:/language/Buttons/Timestamp/Hint}}",
"text": "<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/unfold-all": {
"title": "$:/core/ui/Buttons/unfold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
"description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$reveal>\n</$list>\n</div>\n\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/pluginreloadwarning": {
"title": "$:/core/ui/PageTemplate/pluginreloadwarning",
"tags": "$:/tags/PageTemplate",
"text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=\"\">\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/PluginInfo/Default/contents": {
"title": "$:/core/ui/PluginInfo/Default/contents",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n"
},
"$:/core/ui/PluginListItemTemplate": {
"title": "$:/core/ui/PluginListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"description\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=\"$:/StoryList\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n<div style=\"position: relative;\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n</$droppable>\n</$tiddler>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
},
"$:/TagManager": {
"title": "$:/TagManager",
"icon": "$:/core/images/tag-button",
"color": "#bbb",
"caption": "{{$:/language/TagManager/Caption}}",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/icon/$title$\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/icon/$title$\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$title$!!icon\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define qualifyTitle(title)\n$title$$(currentTiddler)$\n\\end\n\\define toggleButton(state)\n<$reveal state=\"$state$\" type=\"match\" text=\"closed\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$state$\" type=\"match\" text=\"open\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td><$macrocall $name=\"tag\" tag=<<currentTiddler>>/></td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state=<<qualifyTitle \"$:/state/tag-manager/\">> /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal state=<<qualifyTitle \"$:/state/tag-manager/\">> type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td>\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n{{||$:/core/ui/ImportListing}}\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate/unfold": {
"title": "$:/core/ui/ViewTemplate/unfold",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Close/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/fold-bar": {
"title": "$:/core/ui/Buttons/fold-bar",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
"description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
"text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
},
"$:/core/ui/Buttons/fold-others": {
"title": "$:/core/ui/Buttons/fold-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
"description": "{{$:/language/Buttons/FoldOthers/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/fold": {
"title": "$:/core/ui/Buttons/fold",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
"description": "{{$:/language/Buttons/Fold/Hint}}",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal><$reveal type=\"match\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal>"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Info/Caption}}/></span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournalHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/open-window": {
"title": "$:/core/ui/Buttons/open-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
"description": "{{$:/language/Buttons/OpenWindow/Hint}}",
"text": "<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/OpenWindow/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#444"
},
"$:/config/BitmapEditor/ImageSizes": {
"title": "$:/config/BitmapEditor/ImageSizes",
"text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3px"
},
"$:/config/BitmapEditor/LineWidths": {
"title": "$:/config/BitmapEditor/LineWidths",
"text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
},
"$:/config/BitmapEditor/Opacities": {
"title": "$:/config/BitmapEditor/Opacities",
"text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
},
"$:/config/BitmapEditor/Opacity": {
"title": "$:/config/BitmapEditor/Opacity",
"text": "1.0"
},
"$:/config/DefaultSidebarTab": {
"title": "$:/config/DefaultSidebarTab",
"text": "$:/core/ui/SideBar/Open"
},
"$:/config/DownloadSaver/AutoSave": {
"title": "$:/config/DownloadSaver/AutoSave",
"text": "no"
},
"$:/config/Drafts/TypingTimeout": {
"title": "$:/config/Drafts/TypingTimeout",
"text": "400"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/Manager/Show": {
"title": "$:/config/Manager/Show",
"text": "tiddlers"
},
"$:/config/Manager/Filter": {
"title": "$:/config/Manager/Filter",
"text": ""
},
"$:/config/Manager/Order": {
"title": "$:/config/Manager/Order",
"text": "forward"
},
"$:/config/Manager/Sort": {
"title": "$:/config/Manager/Sort",
"text": "title"
},
"$:/config/Manager/System": {
"title": "$:/config/Manager/System",
"text": "system"
},
"$:/config/Manager/Tag": {
"title": "$:/config/Manager/Tag",
"text": ""
},
"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
"title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
"text": "hide"
},
"$:/config/MissingLinks": {
"title": "$:/config/MissingLinks",
"text": "yes"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/OfficialPluginLibrary": {
"title": "$:/config/OfficialPluginLibrary",
"tags": "$:/tags/PluginLibrary",
"url": "http://tiddlywiki.com/library/v5.1.14/index.html",
"caption": "{{$:/language/OfficialPluginLibrary}}",
"text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
},
"$:/config/Navigation/openLinkFromInsideRiver": {
"title": "$:/config/Navigation/openLinkFromInsideRiver",
"text": "below"
},
"$:/config/Navigation/openLinkFromOutsideRiver": {
"title": "$:/config/Navigation/openLinkFromOutsideRiver",
"text": "top"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
"text": "hide"
},
"$:/config/Performance/Instrumentation": {
"title": "$:/config/Performance/Instrumentation",
"text": "no"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/Search/AutoFocus": {
"title": "$:/config/Search/AutoFocus",
"text": "true"
},
"$:/config/Search/MinLength": {
"title": "$:/config/Search/MinLength",
"text": "3"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/ShortcutInfo/bold": {
"title": "$:/config/ShortcutInfo/bold",
"text": "{{$:/language/Buttons/Bold/Hint}}"
},
"$:/config/ShortcutInfo/cancel-edit-tiddler": {
"title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
"text": "{{$:/language/Buttons/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/excise": {
"title": "$:/config/ShortcutInfo/excise",
"text": "{{$:/language/Buttons/Excise/Hint}}"
},
"$:/config/ShortcutInfo/heading-1": {
"title": "$:/config/ShortcutInfo/heading-1",
"text": "{{$:/language/Buttons/Heading1/Hint}}"
},
"$:/config/ShortcutInfo/heading-2": {
"title": "$:/config/ShortcutInfo/heading-2",
"text": "{{$:/language/Buttons/Heading2/Hint}}"
},
"$:/config/ShortcutInfo/heading-3": {
"title": "$:/config/ShortcutInfo/heading-3",
"text": "{{$:/language/Buttons/Heading3/Hint}}"
},
"$:/config/ShortcutInfo/heading-4": {
"title": "$:/config/ShortcutInfo/heading-4",
"text": "{{$:/language/Buttons/Heading4/Hint}}"
},
"$:/config/ShortcutInfo/heading-5": {
"title": "$:/config/ShortcutInfo/heading-5",
"text": "{{$:/language/Buttons/Heading5/Hint}}"
},
"$:/config/ShortcutInfo/heading-6": {
"title": "$:/config/ShortcutInfo/heading-6",
"text": "{{$:/language/Buttons/Heading6/Hint}}"
},
"$:/config/ShortcutInfo/italic": {
"title": "$:/config/ShortcutInfo/italic",
"text": "{{$:/language/Buttons/Italic/Hint}}"
},
"$:/config/ShortcutInfo/link": {
"title": "$:/config/ShortcutInfo/link",
"text": "{{$:/language/Buttons/Link/Hint}}"
},
"$:/config/ShortcutInfo/list-bullet": {
"title": "$:/config/ShortcutInfo/list-bullet",
"text": "{{$:/language/Buttons/ListBullet/Hint}}"
},
"$:/config/ShortcutInfo/list-number": {
"title": "$:/config/ShortcutInfo/list-number",
"text": "{{$:/language/Buttons/ListNumber/Hint}}"
},
"$:/config/ShortcutInfo/mono-block": {
"title": "$:/config/ShortcutInfo/mono-block",
"text": "{{$:/language/Buttons/MonoBlock/Hint}}"
},
"$:/config/ShortcutInfo/mono-line": {
"title": "$:/config/ShortcutInfo/mono-line",
"text": "{{$:/language/Buttons/MonoLine/Hint}}"
},
"$:/config/ShortcutInfo/picture": {
"title": "$:/config/ShortcutInfo/picture",
"text": "{{$:/language/Buttons/Picture/Hint}}"
},
"$:/config/ShortcutInfo/preview": {
"title": "$:/config/ShortcutInfo/preview",
"text": "{{$:/language/Buttons/Preview/Hint}}"
},
"$:/config/ShortcutInfo/quote": {
"title": "$:/config/ShortcutInfo/quote",
"text": "{{$:/language/Buttons/Quote/Hint}}"
},
"$:/config/ShortcutInfo/save-tiddler": {
"title": "$:/config/ShortcutInfo/save-tiddler",
"text": "{{$:/language/Buttons/Save/Hint}}"
},
"$:/config/ShortcutInfo/stamp": {
"title": "$:/config/ShortcutInfo/stamp",
"text": "{{$:/language/Buttons/Stamp/Hint}}"
},
"$:/config/ShortcutInfo/strikethrough": {
"title": "$:/config/ShortcutInfo/strikethrough",
"text": "{{$:/language/Buttons/Strikethrough/Hint}}"
},
"$:/config/ShortcutInfo/subscript": {
"title": "$:/config/ShortcutInfo/subscript",
"text": "{{$:/language/Buttons/Subscript/Hint}}"
},
"$:/config/ShortcutInfo/superscript": {
"title": "$:/config/ShortcutInfo/superscript",
"text": "{{$:/language/Buttons/Superscript/Hint}}"
},
"$:/config/ShortcutInfo/underline": {
"title": "$:/config/ShortcutInfo/underline",
"text": "{{$:/language/Buttons/Underline/Hint}}"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/TextEditor/EditorHeight/Height": {
"title": "$:/config/TextEditor/EditorHeight/Height",
"text": "400px"
},
"$:/config/TextEditor/EditorHeight/Mode": {
"title": "$:/config/TextEditor/EditorHeight/Mode",
"text": "auto"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/TiddlerInfo/Mode": {
"title": "$:/config/TiddlerInfo/Mode",
"text": "popup"
},
"$:/config/Tiddlers/TitleLinks": {
"title": "$:/config/Tiddlers/TitleLinks",
"text": "no"
},
"$:/config/Toolbar/ButtonClass": {
"title": "$:/config/Toolbar/ButtonClass",
"text": "tc-btn-invisible"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
"text": "hide"
},
"$:/config/shortcuts-mac/bold": {
"title": "$:/config/shortcuts-mac/bold",
"text": "meta-B"
},
"$:/config/shortcuts-mac/italic": {
"title": "$:/config/shortcuts-mac/italic",
"text": "meta-I"
},
"$:/config/shortcuts-mac/underline": {
"title": "$:/config/shortcuts-mac/underline",
"text": "meta-U"
},
"$:/config/shortcuts-not-mac/bold": {
"title": "$:/config/shortcuts-not-mac/bold",
"text": "ctrl-B"
},
"$:/config/shortcuts-not-mac/italic": {
"title": "$:/config/shortcuts-not-mac/italic",
"text": "ctrl-I"
},
"$:/config/shortcuts-not-mac/underline": {
"title": "$:/config/shortcuts-not-mac/underline",
"text": "ctrl-U"
},
"$:/config/shortcuts/cancel-edit-tiddler": {
"title": "$:/config/shortcuts/cancel-edit-tiddler",
"text": "escape"
},
"$:/config/shortcuts/excise": {
"title": "$:/config/shortcuts/excise",
"text": "ctrl-E"
},
"$:/config/shortcuts/heading-1": {
"title": "$:/config/shortcuts/heading-1",
"text": "ctrl-1"
},
"$:/config/shortcuts/heading-2": {
"title": "$:/config/shortcuts/heading-2",
"text": "ctrl-2"
},
"$:/config/shortcuts/heading-3": {
"title": "$:/config/shortcuts/heading-3",
"text": "ctrl-3"
},
"$:/config/shortcuts/heading-4": {
"title": "$:/config/shortcuts/heading-4",
"text": "ctrl-4"
},
"$:/config/shortcuts/heading-5": {
"title": "$:/config/shortcuts/heading-5",
"text": "ctrl-5"
},
"$:/config/shortcuts/heading-6": {
"title": "$:/config/shortcuts/heading-6",
"text": "ctrl-6"
},
"$:/config/shortcuts/link": {
"title": "$:/config/shortcuts/link",
"text": "ctrl-L"
},
"$:/config/shortcuts/list-bullet": {
"title": "$:/config/shortcuts/list-bullet",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/list-number": {
"title": "$:/config/shortcuts/list-number",
"text": "ctrl-shift-N"
},
"$:/config/shortcuts/mono-block": {
"title": "$:/config/shortcuts/mono-block",
"text": "ctrl-shift-M"
},
"$:/config/shortcuts/mono-line": {
"title": "$:/config/shortcuts/mono-line",
"text": "ctrl-M"
},
"$:/config/shortcuts/picture": {
"title": "$:/config/shortcuts/picture",
"text": "ctrl-shift-I"
},
"$:/config/shortcuts/preview": {
"title": "$:/config/shortcuts/preview",
"text": "alt-P"
},
"$:/config/shortcuts/quote": {
"title": "$:/config/shortcuts/quote",
"text": "ctrl-Q"
},
"$:/config/shortcuts/save-tiddler": {
"title": "$:/config/shortcuts/save-tiddler",
"text": "ctrl+enter"
},
"$:/config/shortcuts/stamp": {
"title": "$:/config/shortcuts/stamp",
"text": "ctrl-S"
},
"$:/config/shortcuts/strikethrough": {
"title": "$:/config/shortcuts/strikethrough",
"text": "ctrl-T"
},
"$:/config/shortcuts/subscript": {
"title": "$:/config/shortcuts/subscript",
"text": "ctrl-shift-B"
},
"$:/config/shortcuts/superscript": {
"title": "$:/config/shortcuts/superscript",
"text": "ctrl-shift-P"
},
"$:/config/WikiParserRules/Inline/wikilink": {
"title": "$:/config/WikiParserRules/Inline/wikilink",
"text": "enable"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch(colour)\n<$set name=\"swatchColour\" value={{##$colour$}}>\n<div class=\"tc-swatch\" style=<<swatchStyle>>/>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\">\n<<swatch foreground>>\n<<swatch background>>\n<<swatch muted-foreground>>\n<<swatch primary>>\n<<swatch page-background>>\n<<swatch tab-background>>\n<<swatch tiddler-info-background>>\n</div>\n"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "{{$:/language/ControlPanel/Basics/Language/Prompt}} <$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/colour-picker": {
"title": "$:/core/macros/colour-picker",
"tags": "$:/tags/Macro",
"text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<div style=\"background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/> \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/image-picker": {
"title": "$:/core/macros/image-picker",
"tags": "$:/tags/Macro",
"text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\">\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n<$link to={{!!title}}>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$transclude>\n</$link>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\">\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n \n</div>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n\\end\n\n\\define list-tagged-draggable-drop-actions()\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<tag>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<tag>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Assign the list field of the tag with the current ordering -->\n<$action-setfield $tiddler=<<tag>> $field=\"list\" $value=<<order>>/>\n<!-- Add the newly inserted item to the list -->\n<$action-listops $tiddler=<<tag>> $field=\"list\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<$action-listops $tiddler=<<actionTiddler>> $tags=\"[<tag>]\"/>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,itemTemplate,elementTag:\"div\")\n<$set name=\"tag\" value=\"\"\"$tag$\"\"\">\n<$list filter=\"[<tag>tagging[]]\">\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=<<list-tagged-draggable-drop-actions>>>\n<$elementTag$ class=\"tc-droppable-placeholder\">\n \n</$elementTag$>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-tagged-draggable-drop-actions>>>\n<$elementTag$ class=\"tc-droppable-placeholder\">\n \n</$elementTag$>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tag-picker": {
"title": "$:/core/macros/tag-picker",
"tags": "$:/tags/Macro",
"text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\">\n$(actions)$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker(actions)\n<$set name=\"actions\" value=\"\"\"$actions$\"\"\">\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{$:/temp/NewTagName}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n$actions$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list>\n<hr>\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list>\n</div>\n</$reveal>\n</div>\n</$set>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/> <$view tiddler=\"\"\"$tag$\"\"\" field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=\"\"\"$tag$\"\"\" icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=\"\"\"$tag$\"\"\" icon={{$tag$!!icon}} colour={{$tag$!!color}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/thumbnails": {
"title": "$:/core/macros/thumbnails",
"tags": "$:/tags/Macro",
"text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
},
"$:/core/macros/timeline": {
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"title": "$:/core/macros/timeline",
"type": "text/vnd.tiddlywiki",
"text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$vars item=<<currentTiddler>> path=\"\"\"$path$/$tag$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\">\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\" \")\n<<toc-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$link>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-expandable-empty-message()\n<<toc-linked-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\" >\n <li class=<<toc-item-class>>>\n <$link>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<<toc-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=toc-unlinked-selective-expandable-body tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>> >\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=\"$selectedTiddler$\">\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=\"$template$\">\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/core/macros/translink": {
"title": "$:/core/macros/translink",
"tags": "$:/tags/Macro",
"text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<table>\n<tbody>\n<$list filter=\"[all[current]indexes[]]\" variable=\"colourName\">\n<tr>\n<td>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<$edit-text index=<<colourName>> tag=\"input\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n</$set>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n<$transclude tiddler=\"$:/snippets/currpalettepreview\"/>\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n<div class=\"tc-prompt\">\n<<lingo Prompt>> <$view tiddler={{$:/palette}} field=\"name\"/>\n</div>\n\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[description]]\"><div class=\"tc-chooser-item\"><$link to={{!!title}}><div><$reveal state=\"$:/palette\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/palette\" type=\"nomatch\" text={{!!title}}> </$reveal> ''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/></div><$transclude tiddler=\"$:/snippets/currpalettepreview\"/></$link></div>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/AdvancedSearch/FilterButton": {
"title": "$:/tags/AdvancedSearch/FilterButton",
"list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/ControlPanel/Plugins": {
"title": "$:/tags/ControlPanel/Plugins",
"list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/EditorToolbar": {
"title": "$:/tags/EditorToolbar",
"list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
},
"$:/tags/Manager/ItemMain": {
"title": "$:/tags/Manager/ItemMain",
"list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
},
"$:/tags/Manager/ItemSidebar": {
"title": "$:/tags/Manager/ItemSidebar",
"list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Plugins]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
"text": ""
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$view tiddler={{$:/theme}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}> </$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/StoryView/\n<<lingo Prompt>> <$select tiddler=\"$:/view\">\n<$list filter=\"[storyviews[]]\">\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>"
}
}
}
/*\
title: $:/core/modules/parsers/wikiparser/rules/wikilink.js
type: application/javascript
module-type: wikirule
Wiki text inline rule for wiki links. For example:
```
AWikiLink
AnotherLink
~SuppressedLink
```
Precede a camel case word with `~` to prevent it from being recognised as a link.
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
exports.name = "wikilink";
exports.types = {inline: true};
exports.init = function(parser) {
this.parser = parser;
// Regexp to match
this.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + "?" + $tw.config.textPrimitives.wikiLink,"mg");
};
/*
Parse the most recent match
*/
exports.parse = function() {
// Get the details of the match
var linkText = this.match[0];
// Move past the macro call
this.parser.pos = this.matchRegExp.lastIndex;
// If the link starts with the unwikilink character then just output it as plain text
if(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {
return [{type: "text", text: linkText.substr(1)}];
}
// If the link has been preceded with a blocked letter then don't treat it as a link
if(this.match.index > 0) {
var preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,"mg");
preRegExp.lastIndex = this.match.index-1;
var preMatch = preRegExp.exec(this.parser.source);
if(preMatch && preMatch.index === this.match.index-1) {
return [{type: "text", text: linkText}];
}
}
return [{type: "text", text: linkText}];
return [{
type: "link",
attributes: {
to: {type: "string", value: linkText}
},
children: [{
type: "text",
text: linkText
}]
}];
};
})();
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBAA8HARQPBwEYDwcBGA8HARgPBwEYDwcBGA8HARgPBwEYDwcBGA8HARgPBwEYDwcBGA8HARgPBwEYDwcBGA8HARgOBgEUDgcBEA8GAQoPBwEEDgYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBJg8HAd8OBwH/DgcB/w4HAf8OBwH/DgcB/w4HAf8OBwH/DgYB/w8HAf8OBwH/DwcB/w4HAf8OBwH/DwcB/w8HAf8OBgHpDgcBzQ4HAaMOBgFwDwYBLA4HAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgYBfA4HAfkPBwH/DwcB/w8HAf8PBwH/DgYB/w8HAf8PBwH/DwcB/w4HAf8PBwH/DwcB/w8HAf8OBwH/DwcB/w4GAf8PBwH/DgcB/w4HAf8PBwH/DwYBzQ4HAXgPBwEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwEIDgYBrQ8GAf8PBgH/DgYB/w8GAf8PBgH/DwYB/w4HAf8PBgH/DwcB/w8HAf8OBwH/DgYB/w8HAf8OBwH/DwcB/w4HAf8OBgH/DwcB/w4GAf8OBwH/DwYB/w4HAfcPBwG5DwcBGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgEeDwcBww8HAf8OBwH/DwcB/w8HAf8PBgH/DwcB/w4HAf8OBwH/DwcB/w4HAf8OBwH/DwcB/w8HAf8OBwH/DwcB/w4GAf8OBgH/DwcB/w4HAf8OBgH/DwcB/w4HAf8PBwH9DgYBnw8HARYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwEqDwcBzQ8HAf8PBwH/DgYB/w4HAf8PBwH/DwcB/w8HAf8PBwH/DwcB/w8HAf8PBwH/DgcB/w8HAf8OBgH/DgcB/w8GAf8OBgH/DwcB/w8GAf8PBwH/DwcB/w4HAf8PBwH/DgcB7w4HAV4PBwECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBwEwDgcB0w4GAf8PBwH/DwcB/w4GAf8PBwH/DwcB/w8HAf8PBgH7DgcB5w8HAdkPBwHRDwcB0Q8HAdUPBwHhDwcB8Q4GAf8OBgH/DgYB/w4GAf8OBgH/DgYB/w8HAf8OBgH/DwcB/w8HAa8PBwEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBwFADgcB3w8HAf8PBwH/DgYB/w8HAf8PBwH/DwcB/w4HAfMOBgGjDgYBRA8HARoAAAAAAAAAAA8HAQ4OBgEyDwcBZA8HAbcPBwHzDwcB/w4HAf8OBgH/DwcB/w4HAf8PBwH/DwcB/w8HAesOBwEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFKDgcB5w8HAf8PBwH/DwcB/w8HAf8PBwH/DwcB/w4GAbcPBgEaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBAg8HARoOBgGNDwcB+w8HAf8PBwH/DwcB/w8HAf8OBgH/DwcB/w4HAf8PBgFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBwFKDwcB5w8GAf8PBwH/DwcB/w4GAf8PBwH/DwYB/Q8HAUwPBwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwEEDgYBrQ8HAf8PBwH/DgYB/w8HAf8PBgH/DwcB/w8HAf8PBwFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBwFKDwYB5w8HAf8PBwH/DgcB/w8HAf8OBwH/DgYB+w8HARIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBWA4HAf8OBwH/DgYB/w8HAf8PBwH/DwcB/w8HAf8PBwFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFUDwcB8Q8HAf8OBgH/DgYB/w8HAf8OBgH/DwcB1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwYBNg4HAf8OBgH/DwcB/w4GAf8PBwH/DwcB/w8HAf8PBwE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBgFmDwcB/w8HAf8OBwH/DgYB/w8HAf8PBwH/DgcBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBQA4GAf8OBwH/DgYB/w4HAf8PBgH/DwcB/w8HAdkPBwEiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDgcB/w4GAf8PBwH/DwYB/w8HAf8PBwH/DwcBqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBhw4GAf8OBgH/DgcB/w4GAf8OBgH/DgcB/w8HAa8PBwEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDwcB/w8HAf8PBwH/DgYB/w8HAf8PBwH/DwYBmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgEMDwcB2Q8HAf8PBwH/DwcB/w8HAf8OBwH/DwcB9Q8GAWwPBwEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDgcB/w8HAf8OBwH/DwYB/w8HAf8PBwH/DwcBzQ8HAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8HAQYPBgFyDwcB+Q4HAf8OBwH/DgYB/w8HAf8PBwH/DwcBwQ8HAR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDgYB/w4GAf8PBwH/DgYB/w8HAf8PBwH/DwYB+Q8HAYUPBwEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8HAToPBwHbDwYB/w4HAf8OBwH/DwcB/w8HAf8OBwH7DwYBXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDwcB/w4HAf8PBwH/DwcB/w8HAf8PBwH/DwcB/w4GAfcPBwHLDgcBXg8HARAPBgECAAAAAAAAAAAAAAAADwcBIg4GAbkOBgH9DwcB/w8HAf8PBgH/DwcB/w4HAf0OBgGhDwcBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDwcB/w8GAf8PBgH/DgcB/w8HAf8PBwH/DgcB/w4HAf8OBgH/DwcB/Q8HAbkPBgFUDwcBEg8HAQIPBgEmDgcBuw4HAf8PBwH/DwcB/w4HAf8OBwH/DwcB+w8GAbkPBwEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgFmDgYB/w8GAf8OBwH/DwYB/w4HAf8OBwH/DwYB/w4HAf8OBwH/DwYB/w4HAf8PBgHpDgYBrw8HAYEOBwG/DgYB+w8HAf8OBwH/DgYB/w8GAf8PBwH/DgcBzw8HAS4PBwECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDgcB/w8HAf8PBgH/DgYB/w4HAf8PBgH/DwcB/w4GAf8PBgH/DwcB/w8GAf8OBgH/DwcB/w8GAfkPBgH9DwcB/w4GAf8PBgH/DwcB/w8HAfsPBgHdDwcBMg8HAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFmDwcB/w8GAf8PBwH/DgcB/w8HAf8OBgH/DwYB/w8HAf8OBgH/DgYB/w4HAf8PBwH/DgYB/w4HAf8PBgH/DwcB/w8HAf8PBwH/DwYB/Q4GAccPBwE8DgcBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBgFmDgYB/w8HAf8OBwH/DwcB/w4HAf8OBwH/DwcB5Q8HAZMPBwG7DwYB9Q4HAf8OBwH/DwcB/w4HAf8PBgH/DgYB/w8GAf8PBwH/DgYB5w8HAVAPBwEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBgFSDgcB7Q8HAf8PBwH/DwcB/w4HAf8PBwH/DwYBgQ4GAQYPBwEKDwcBPg8GAccOBgH3DwcB/w8HAf8PBgH/DwcB/w4GAf8PBgH/DwcB3w8HATYPBgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFKDgcB5w8GAf8OBwH/DwcB/w8HAf8OBwH/DwYBcAAAAAAAAAAADgcBAA8HASAPBgGJDwcB7Q4HAf8OBgH/DwcB/w8HAf8PBwH/DwYB+Q8HAacOBwEaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFKDwYB5w4GAf8PBwH/DgYB/w8HAf8OBwH/DwYBcAAAAAAAAAAAAAAAAAAAAAAPBwEODwYBXg8HAekOBwH/DwYB/w4GAf8OBwH/DwYB/w4HAfcPBwGRDwYBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFKDwYB5w8HAf8PBwH/DgcB/w8HAf8PBgH/DwcBdAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBAA8GASwPBgG9DwcB/Q4GAf8OBgH/DwcB/w4GAf8PBgH9DwYBgw4HAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwFKDgcB5w8GAf8PBwH/DgcB/w8HAf8OBwH/DgYBiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwEwDwcB2Q8HAf8PBwH/DwYB/w8HAf8OBwH/DwcB6w4HAVwPBwEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgE2DwcB1w8HAf8PBwH/DgcB/w8HAf8PBwH/DgcBqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBWg4GAfcPBwH/DwcB/w8HAf8PBwH/DwcB/w8HAcMPBwEiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBgEwDgYB0Q8HAf8OBwH/DgYB/w4GAf8OBwH/DgcB4Q8HAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBEg4HAbEPBgH/DgcB/w8GAf8OBgH/DgYB/w4HAf8PBwF+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwEwDgYB0Q4GAf8PBwH/DgcB/w8HAf8PBwH/DwcB/Q8HAToAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwYBBA8GAXYPBwH/DgYB/w8HAf8OBwH/DwcB/w8HAf8PBwHPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgEeDwcBww4HAf8PBwH/DwcB/w8GAf8PBwH/DwcB/w8HAaUPBgEODwcBAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBAg8HAW4PBwH/DwcB/w8HAf8PBwH/DwcB/w8HAf8PBwH1DwcBFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBgEUDgYBuw8HAf8OBwH/DwcB/w8HAf8OBwH/DgYB/w8HAfUPBwGVDwcBIgAAAAAAAAAAAAAAAAAAAAAAAAAADwcBKA8HAcEOBwH/DwcB/w4HAf8PBwH/DwcB/w8GAf8PBwH5DwcBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwECDgcBqw8HAf8PBwH/DgYB/w8HAf8OBgH/DgcB/w8GAf8PBwH3DwcBvQ8HAXYPBwFQDgcBRg4HAUYPBwFoDgYBuQ8HAfsPBwH/DwcB/w8HAf8PBwH/DwcB/w4HAf8PBwH5DwYBGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBiQ8HAfsPBgH/DgYB/w8GAf8PBgH/DwcB/w8HAf8PBgH/DwcB/w8HAfcPBwHvDwcB7Q8HAe0PBwHzDwcB/w8HAf8OBwH/DwcB/w8HAf8OBwH/DwcB/w8HAf8PBwHZDwcBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBZA4HAfcOBwH/DwcB/w4HAf8PBwH/DgYB/w8HAf8OBwH/DwcB/w4GAf8PBwH/DwcB/w8HAf8OBwH/DwcB/w8GAf8PBwH/DwcB/w8HAf8PBwH/DgYB/w8HAfsOBwGBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwYBOA8GAfMOBwH/DwcB/w4HAf8OBwH/DwcB/w4GAf8OBgH/DwYB/w8HAf8OBwH/DwcB/w8HAf8PBwH/DwcB/w4HAf8PBwH/DwcB/w8HAf8OBwH/DwcB/w4HAcsPBwEsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwcBBA4GAdcPBwH/DgYB/w8HAf8PBwH/DgYB/w8HAf8PBwH/DgYB/w8HAf8PBwH/DgYB/w8HAf8PBgH/DwcB/w8GAf8PBgH/DwcB/w8HAf0PBgHxDgYBtQ8HATYPBwECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8GAXAPBgHzDgcB/w8GAf8PBwH/DgcB/w8GAf8PBgH/DwcB/w8HAf8PBgH/DwcB/w8GAf8OBwH/DwcB/w8GAfMPBwHhDwcBww4HAaUPBgFmDwcBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8HARAPBwFGDwYBTg8HAU4PBgFODgcBTg8HAU4PBwFODwcBTg8HAU4PBwFODwcBTg8HAU4PBgFODwcBTg8HAUYPBwE6DwcBJA8GARAPBwECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/4AAD//8AAP/gAAD//wAA/8AAAD//AAD/wAAAH/8AAP/AAAAf/wAA/8AAAA//AAD/wB/AD/8AAP/AP+AP/wAA/8B/8A//AAD/wH/4D/8AAP/Af/gP/wAA/8B/+A//AAD/wH/wD/8AAP/Af/Af/wAA/8B/8B//AAD/wD/gP/8AAP/AH8A//wAA/8AHgH//AAD/wAAA//8AAP/AAAH//wAA/8AAA///AAD/wAAH//8AAP/AcAf//wAA/8D4A///AAD/wP4B//8AAP/A/wD//wAA/8B/gP//AAD/wH/Af/8AAP/Af8B//wAA/8B/4D//AAD/wD/gP/8AAP/AH8A//wAA/8APgD//AAD/wAAAP/8AAP/gAAA//wAA/+AAAH//AAD/4AAA//8AAP/wAAP//wAA////////AAD///////8AAP///////wAA////////AAA=
下列条目已被导入:
# [[python80.jpeg]]
{
"tiddlers": {
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "高级查找"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "高级查找"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "取消"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "放弃对此条目的更改"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "克隆"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "克隆此条目"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "关闭"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "关闭此条目"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "全部关闭"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "关闭所有条目"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "关闭其他"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "关闭其他条目"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "控制台"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "开启控制台"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "删除"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "删除此条目"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "编辑"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "编辑此条目"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "加密"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "设置或清除保存此维基的密码"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "清除密码"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "清除密码且不加密保存此维基"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "设置密码"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "设置加密保存此维基的密码"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "导出所有条目"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "导出所有条目"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "导出此条目"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "导出此条目"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "导出条目"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "导出条目"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "收合条目"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "收合此条目的内容"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "展开条目"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "展开此条目的内容"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "收合其他条目"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "收合其他已开启条目的内容"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "收合所有条目"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "收合所有已开启条目的内容"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "收合栏"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "可选的收合与展开条目的长条按钮"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "展开所有条目"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "展开所有已开启条目的内容"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "全屏幕"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "进入或离开全屏模式"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "帮助"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "显示帮助面板"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "首页"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "开启首页条目"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "导入"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "导入许多类型的文件包括文本、图像、TiddlyWiki 或 JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "信息"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "显示此条目的信息"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "语言"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "选择用户介面语言"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "条目管理器"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "开启条目管理器"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "更多"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "更多动作"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "添加子条目"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "创建一个标签为此条目名称的新条目"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "添加日志"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "创建一个新的日志条目"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "添加子日志"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "创建一个标签含此条目名称的新日志条目"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "添加图像"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "创建一个新的图像条目"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "添加 Markdown 条目"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "创建一个新的 Markdown 条目"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "添加条目"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "创建一个新的条目"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "开启于新窗口"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "在新窗口中开启条目"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "调色板"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "选择调色板"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "引用链接"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "设置浏览器网址栏为直接链接到此条目"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "永久链接"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "设置浏览器网址栏为直接链接到当前所有已开启条目"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "打印页面"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "打印当前页面"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "刷新"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "执行维基的完全刷新"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "确定"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "确定对此条目的更改"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "保存变更"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "保存变更"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "查看模式"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "选择查看条目的视觉效果"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "隐藏侧边栏"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "隐藏侧边栏"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "显示侧边栏"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "显示侧边栏"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "标签管理"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "标签管理"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "时间戳记"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "选择修改是否更新时间戳记"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "时间戳记开启"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "条目被修改时,更新时间戳记"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "时间戳记关闭"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "条目被修改时,不更新时间戳记"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "布景主题"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "选择布景主题"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "粗体"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "套用粗体格式于所选文本"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "清除"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "清除图像为纯色"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "编辑器高度"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "自动调整高度以适合内容"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "固定高度︰"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "选择文本编辑器的高度"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "剪切"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "执行剪切"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "宏的名称︰"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "新条目的名称︰"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "替换剪切的文本为:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "宏"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "链接"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "嵌入"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "将新条目的标签设为此条目的名称"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "警示:条目已经存在"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "剪切所选文本到一个新条目"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "标题 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "套用标题级别 1 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "标题 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "套用标题级别 2 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "标题 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "套用标题级别 3 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "标题 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "套用标题级别 4 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "标题 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "套用标题级别 5 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "标题 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "套用标题级别 6 的格式于包含所选文本的列"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "斜体"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "套用斜体格式于所选文本"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "线宽"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "设置绘画的线条宽度"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "链接"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "创建维基文字链接"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "符号清单"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "套用符号清单格式于包含所选文本的列"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "数字清单"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "套用数字清单格式于包含所选文本的列"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "等宽区块"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "套用等宽区块格式于包含所选文本的列"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "等宽"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "套用等宽字符格式于所选文本"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "不透明度"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "设置绘画的不透明度"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "绘画颜色"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "设置绘画的颜色"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "图片"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "插入图片"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "预览"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "显示预览窗格"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "预览类型"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "选择预览类型"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "引言"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "套用引言文本格式于包含所选文本的列"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "图像大小"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "高度︰"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "调整图像的大小"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "宽度:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "设置图像的大小"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "印记"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "添加您自己的"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "插入一个预配置的文本片段"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "在选单中显示的标题"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "片段的文本。(记得在 `caption` 栏位中添加一个说明性的标题)。"
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "删除线"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "套用删除线格式于所选文本"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "下标"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "套用下标格式于所选文本"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "上标"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "套用上标格式于所选文本"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "下划线"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "套用下划线格式于所选文本"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "高级"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "关于此 TiddlyWiki 的内部信息"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "视觉外观"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "定制您的 TiddlyWiki 外观。"
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "动画持续时间:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "基本"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "标题含空白时请使用 [[双中括弧]],或者您可用 <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">保留开启中的条目顺序</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "首页:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "默认开启的条目:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "您好!当前的语言:"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "新日志条目的标签"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "新日志条目的内容"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "新日志条目的名称"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "被覆写的默认条目数量:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "默认条目数量:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "副标题:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "系统条目数量:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "标签数量:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "一般条目数量:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "标题:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "编辑者署名:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki 版本:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "编辑器类型"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "编辑器"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "这些条目决定使用哪个编辑器来编辑特定条目类型。"
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "类型"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "信息"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "有关此 TiddlyWiki 的信息"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "在此输入快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "添加快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "管理键盘快捷键分配"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "尚无指定快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "删除快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "所有平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "仅 Macintosh 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "仅非 Macintosh 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "仅 Linux 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "仅非 Linux 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "仅 Windows 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "仅非 Windows 平台"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "已加载的模块"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "这些是当前已加载的模块之源码条目。斜体的模块则无源码条目,通常是因为它们是在引导过程中设置。"
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "调色板"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "复制"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "建议您修改前先复制此默认调色板"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "此默认调色板已被修改过"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "编辑"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "重置"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "隐藏编辑器"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "当前的调色板:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "显示编辑器"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "从官方插件库安装插件"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "获取更多插件"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "此插件已经安装版本 <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "禁用"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "重新加载页面时禁用此插件"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(已禁用)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "无"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "启用"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "重新加载页面时启用此插件"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "安装"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "当前已安装的插件:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "语言"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "语言包插件"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "无 ''\"<$text text=<<currentTab>>/>\"''"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "未提供信息"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "尚未安装此插件"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "开启插件程式库"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "关闭插件程式库"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "重新安装"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "布景主题"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "布景主题插件"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "解析"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "在此您可以全域禁用或启用维基解析规则。要使更改生效,请保存并重新加载您的维基。禁用某些解析规则,会妨碍 <$text text=\"TiddlyWiki\"/> 正常运作。可使用[[安全模式|http://tiddlywiki.com/#SafeMode]]恢复正常操作。"
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "区块解析规则"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "内联解析规则"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "编译指示解析规则"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "允许下载保存模块的自动保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "启用下载保存模块的自动保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "下载保存模块"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "这些设置适用于兼容 HTML5 的下载保存模块"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "通用"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "这些设置适用于所有已载入的保存模块"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "高级设置"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "备份文件夹"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "备份"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot 保存模块"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "这些设置只适用于保存到 http://tiddlyspot.com 或兼容的远程服务器时。"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "上传文件名"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//默认之服务器网址 `http://<wikiname>.tiddlyspot.com/store.cgi`,可改为定制之服务器网址,例如 `http://example.com/store.php`。//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "密码"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "服务器网址"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "上传文件夹"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "用户"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "自动保存"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "不要自动保存变更"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "自动保存变更"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "当使用支持的保存模块时,在编辑期间尝试自动保存变更"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "驼峰式维基链接"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "您可以全域禁用驼峰式短语自动链接。须保存后重新加载,方才生效。"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "启用自动驼峰式链接"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "设置"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "默认侧边栏页签"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "指定默认显示的侧边栏页签"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "编辑器工具栏"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "启用或禁用编辑器工具栏︰"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "显示编辑器工具栏"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "条目信息面板模式"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "控制条目信息面板何时关闭︰"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "条目信息面板自动关闭"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "条目信息面板保持打开状态,直到明确关闭"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "这些高级设置让您定制 TiddlyWiki 的行为。"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "条目开启行为"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "从故事河//中//导航"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "从故事河//外//导航"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "开启于当前条目之上"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "开启于当前条目之下"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "开启于故事河的顶端"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "开启于故事河的底部"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "维基链接"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "选择是否要链接到尚未存在的条目"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "启用链接到佚失条目"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "网址栏导览"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "在浏览器网址栏导览到条目时的行为:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "不更新网址栏"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "包含目标条目"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "包括目标条目和当前已开启的条目序列"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "历史记录导览"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "当导览到条目时,更新浏览器历史记录:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "不更新历史记录"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "更新历史记录"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "性能检测"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "在浏览器的开发人员控制台,显示性能统计数据。需要重新加载才能生效。"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "启用性能检测"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "工具栏按钮样式"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "选择工具栏按钮的样式:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "无边框"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "方框"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "圆形"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "工具栏按钮"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "默认的工具栏按钮外观:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "包含图标"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "包含文本"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "条目标题"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "可选地显示条目标题为链接"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "不显示条目标题为链接"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "显示条目标题为链接"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "查看模式"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "当前的查看模式:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "布景主题"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "当前的布景主题:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "条目栏位"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "这是本维基使用中的所有条目栏位(含系统条目的栏位,但默认条目的栏位除外)。"
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "工具栏"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "编辑工具栏"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "选择将显示哪些按钮于条目的编辑模式工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "选择将显示哪些工具栏按钮"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "页面工具栏"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "选择将显示哪些按钮于主页面的工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "编辑器工具栏"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "选择将显示哪些按钮于编辑器工具栏。请注意,某些按钮只会出现在编辑某一类型的条目时。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "查看工具栏"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "选择将显示哪些按钮于条目的查看模式工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "下载完整副本"
},
"$:/core/zh-Hans/readme": {
"title": "$:/core/zh-Hans/readme",
"text": "此插件包含 TiddlyWiki 的核心组件,包括:\n\n* JavaScript 代码模块\n* 图标\n* 创建 TiddlyWiki 的用户介面所需的模板\n* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译\n"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "周日"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "周一"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "周二"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "周三"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "周四"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "周五"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "周六"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "一月"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "二月"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "三月"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "四月"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "五月"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "六月"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "七月"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "八月"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "九月"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "十月"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "十一月"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "十二月"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "上午"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "下午"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "日"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "一"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "二"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "三"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "四"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "五"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "六"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "01月"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "02月"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "03月"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "04月"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "05月"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "06月"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "07月"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "08月"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "09月"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "10月"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "11月"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "12月"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> 天后"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> 小时后"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> 分钟后"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> 个月后"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 秒后"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> 秒后"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> 年后"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> 天前"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> 小时前"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> 分钟前"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> 个月前"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 秒前"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> 秒前"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> 年前"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "''all'' 筛选器算子的子算子。"
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "动画模块包含可用于 RevealWidget 的动画。"
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "一个位图编辑器工具栏操作。"
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "可于 Node.js 执行的指令。"
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "加入 `$tw.config` 的数据。"
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "个别筛选器算子方法。"
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "加入 `$tw` 的全域数据。"
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "透过 [[$:/temp/info-plugin]] 伪插件,发布系统信息。"
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "''is'' 筛选器算子的运算符。"
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "一般用途的 JavaScript 模块的通用模块类型。"
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript ''宏''定义。"
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "不同内容类型的解析器。"
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "于浏览器保存文件的不同的保存处理方法。"
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "启动时期的功能函数。"
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "查看模式用以自订 list 小部件的动画与行为。"
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "一个文本编辑器工具栏操作。"
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "转换不同内容类型至条目。"
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "定义个别条目栏位的行为。"
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "添加方法至 `$tw.Tiddler` 原型。"
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "于升级/导入过程中,套用升级处理至条目。"
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "添加方法至 `$tw.utils`。"
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "将特定于 Node.js 的方法添加到 '$tw.utils'。"
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "封装 DOM 渲染和刷新的小部件。"
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "添加方法至 `$tw.Wiki`。"
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "WikiText 解析器的个别的语法规则。"
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "警示背景"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "警示边框"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "警示高亮度"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "警示的低调前景"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "一般背景"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "引言条"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "默认按钮背景"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "默认按钮边框"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "默认按钮前景"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "代码背景"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "代码边框"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "代码前景"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "未保存变更指示器"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "下载按钮背景"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "下载按钮前景"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "拖动区背景"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "拖动区前景"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "下拉背景"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "下拉边框"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "选定的下拉页签背景"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "下拉页签背景"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "拖放背景"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "悬停外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "已造访过的外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "悬停外部链结前景"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "已造访过的外部链结前景"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "外部链结前景"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "一般前景"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "信息框背景"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "信息边框"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "信息框前景"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "模块背景幕"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "模块背景"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "模块边框"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "模块页脚背景"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "模块页脚边框"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "模块标题边框"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "一般低调前景"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "通知背景"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "通知边框"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "页面背景"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "pre 背景"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "pre 边框"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "主颜色"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "侧边栏按钮前景"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "悬停侧边栏控制项前景"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "侧边栏控制项前景"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "侧边栏前景阴影"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "侧边栏前景"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "悬停侧边栏低调前景"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "侧边栏低调前景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "侧边栏选定页签背景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "侧边栏页签背景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "侧边栏选定页签边框"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "侧边栏页签边框"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "侧边栏页签分隔线"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "侧边栏选定页签前景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "侧边栏页签前景"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "侧边栏悬停条目链结前景"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "侧边栏条目链结前景"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "网站标题前景"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "静态警示前景"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "选定的页签背景"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "页签背景"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "选定的页签边框"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "页签边框"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "页签分隔线"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "选定的页签前景"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "页签前景"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "表格边框"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "表格页脚背景"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "表格标题背景"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "标签背景"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "标签前景"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "条目背景"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "条目边框"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "悬停的条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "选定的条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "条目编辑器背景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "条目编辑器边框图片"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "条目编辑器边框"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "条目编辑器中偶数栏位背景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "条目编辑器中奇数栏位背景"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "条目信息面板背景"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "条目信息面板边框"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "条目信息面板页签背景"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "条目链结背景"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "条目链结前景"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "条目副标题前景"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "条目标题前景"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "工具栏 '添加条目' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "工具栏 '选项' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "工具栏 '保存' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "工具栏 '资讯' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "工具栏 '编辑' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "工具栏 '关闭' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "工具栏 '删除' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "工具栏 '取消' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "工具栏 '完成 按钮前景"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "未设标签的背景"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "非常低调前景"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "这是保存于主要的 TiddlyWiki 文件之外的外部条目。你可以编辑其标签和栏位,但不能直接编辑内容本身"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "输入此条目的内容"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "输出"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "删除栏位"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "删除栏位"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "添加"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "系统栏位"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "使用者栏位"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "栏位名称"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "添加栏位:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "栏位内容"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "这是一个默认条目。您做的任何更改将会覆盖来自 <<pluginLink>> 插件的默认版本。"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "这是一个修改过的默认条目。删除此条目可以还原为 <<pluginLink>> 插件中的默认版本。"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "添加"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "标签名称"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "标签清单"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "显示标签清单"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "请注意,避免在条目名称中使用这些字符:<<bad-chars>>"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "目标条目已经存在"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "将在其他条目的 //tags// 和 //list// 栏位中的 ''<$text text=<<fromTitle>>/>'' 改为 ''<$text text=<<toTitle>>/>''"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "内容类型清单"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "显示内容类型清单"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "删除内容类型"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "删除内容类型"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "内容类型"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "类型:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "静态 HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON 文件"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV 文件"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" 文件"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "外部图像条目的完整的 URI"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "条目的来源集的名称"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "显示于页签或按钮上的标题文字"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "条目的 CSS 颜色值"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "负责[[警示条目|AlertMechanism]]的组件名称"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "条目的创建日期"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "条目的创建者"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "用于缓存[[浏览历史列表|HistoryMechanism]]的最上层条目"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "插件的相依插件列表"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "插件的说明、描述"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "草稿条目,包含条目的标题、标签、栏位 ..."
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "草稿条目的标题"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "wizard 的注脚"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "于 [[$:/core/templates/static.content]] 使用的临时保存栏位"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "条目的标题含有与条目关联的图标"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "若设为 “yes”,表示条目应该被保存为一个 JavaScript 程序库"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "条目的列表,指定一些条目的标题清单"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "前条目名称将被添加到条目排序清单中的设置条目名称之前,或若此栏位存在但是空的,则在清单的起始位置"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "当前条目名称将被添加到条目排序清单的设置条目名称之后"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "条目的最近修改日期与时间"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "条目的最近修改者"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "具可读性的插件条目的名称"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "插件条目的优先级数值"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "插件条目的类型"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "TiddlyWiki 的发布日期"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "条目存放于服务器中的修订版本"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "条目的网址"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "一个 wizard 的副标题"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "条目的标签清单"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "条目的内文"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "条目的唯一名称"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "条目的内容类型"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "插件的版本信息"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "所有条目,不含系统条目"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "最近修改的条目,包含系统条目"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "最近修改的条目"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "所有标签,不含系统标签"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "缺失条目"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "草稿条目"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "孤立条目"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "系统条目"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "默认条目"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "被覆写的默认条目"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "系统标签"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "故事河中的条目,不含 ~$:/AdvancedSearch"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "非维基文字条目"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n欢迎使用 ~TiddlyWiki 及参与 ~TiddlyWiki 社群\n\n开始将重要资讯存放于 ~TiddlyWiki 之前,确认您可以可靠地保存变更是很重要的。详细资讯请参阅 http://tiddlywiki.com/#GettingStarted\n\n!! 设置此 ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n请参阅[[控制台|$:/ControlPanel]]查看更多选项。"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "自动执行已配置的命令",
"text": "生成指定的生成目标为当前 wiki。若未指定任何生成目标,则生成所有可用的目标。\n\n```\n--build <target> [<target> ...]\n```\n\n生成目标在 wiki 文件夹的 `tiddlywiki.info` 文件中定义。\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "清除用于后续加密的密码",
"text": "清除用于后续加密的密码\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\n用法: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n可用的命令:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n取得关于某个命令的详细帮助:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "列出可用的 TiddlyWiki 版本",
"text": "列出可用版本的名称和描述。您可以用 `--init` 命令创建一个指定版本的新维基。\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "通过网址从维基撷取条目",
"text": "通过 HTTP/HTTPS 撷取一个或多个文件,并导入匹配筛选器的条目,可选的转换传入的名称。\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\n\n使用 \"file\" 选项为仅撷取单个文件,且第一个参数为要读取文件的网址。\n\n使用 \"files\" 选项为撷取多个文件,且第一个参数是一个产生要读取文件的网址清单的筛选器。例如,给定标签为 \"remote-server\" 的一组具有字段 \"url\" 的条目,筛选器 `[tag[remote-server]get[url]]` 将取回所有可用的网址。\n\n`<import-filter>` 参数指定一个筛选器,用于确定要导入哪些条目。如果未提供,则默认为 `[all[tiddlers]]`。\n\n`<transform-filter>` 参数指定一个可选的筛选器,用于转换导入条目的名称。例如,`[addprefix[$:/myimports/]]` 会将前缀 `$:/myimports/` 加至每个名称。\n\n于 `--fetch` 之前使用 `--verbose` 命令,将在导入期间输出进度信息。\n\n请注意,TiddlyWiki 不会撷取一个已经加载插件的旧版本。\n\n以下示例从 http://tiddlywiki.com 取回所有非系统条目,并将其保存到一个 JSON 文件:\n\n```\ntiddlywiki --verbose --fetch file \"http://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "显示 TiddlyWiki 命令的说明",
"text": "显示命令的帮助文本:\n\n```\n--help [<command>]\n```\n\n若省略命令名称,则显示可用命令的清单。\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "初始化一个新的 wiki 文件夹",
"text": "初始化一个空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\n\n```\n--init <edition> [<edition> ...]\n```\n\n例如:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n注意:\n\n* 若有需要,将创建 wiki 文件夹目录\n* 其中 \"edition\" 默认为 ''empty''\n* 若 wiki 文件夹不是空的,则初始化命令将失败\n* 初始化命令会删除 'tiddlywiki.info' 文件内所有 'includeWikis' 的定义。\n* 当指定多个版本时,这些版本于初始化后,将覆写早期版本共用的所有文件 (故此最终的 `tiddlywiki.info` 文件将是从最近的版本复制而得)\n* `--editions` 传回所有可用版本的清单。\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "从文件中加载条目",
"text": "从 2.x.x TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他文件加载条目\n\n```\n--load <filepath>\n```\n\n从已加密的 TiddlyWiki 文件中加载条目,须使用 PasswordCommand 指定密码,例如:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\n请注意 TiddlyWiki 将不加载旧版本的已挂载的插件。\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "构建升级处理所需的程式库插件",
"text": "为升级处理构建 `$:/UpgradeLibrary` 条目。\n\n升级程式库被格式化为一个插件类型为 `library` 的一般插件条目。它包含 TiddlyWiki5 存储库中所有可用的插件、布景主题和语言包的副本。\n\n此命令仅供内部使用;它只是与使用者构建一个自订的升级程序相关。\n\n```\n--makelibrary <title>\n```\n\n标题参数默认为 `$:/UpgradeLibrary`。\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "无此帮助项目"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "设置后续命令的基准输出文件夹",
"text": "设置后续命令的基准输出文件夹,默认为该版本文件夹的 `output` 子文件夹。\n\n```\n--output <pathname>\n```\n\n若指定的路径是相对路径,则它是被解析相对于当前的工作文件夹。例如:`--output .` 將輸出文件夹設置為當前工作文件夹。"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "设置用以加密的密码",
"text": "设置用以加密的密码\n\n```\n--password <password>\n```\n\n''请注意'':这不是用于提供 TiddlyWiki 具有密码保护功能。相反地,请看 [[ServerCommand]] 的密码选项说明。\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "呈现个别条目为指定的内容类型",
"text": "呈现个别条目为指定的[[内容类型|ContentType]],默认为 `text/html` 且保存为指定的文件名。\n\n还可以指定一个模板,在这种情况下,\"currentTiddler\" 变量设为正在呈现的条目 (第一个参数值) 与模板条目合并呈现。\n\n也能可选地指定附加变量的名称与其值。\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>]\n```\n\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n\n例如,以下命令通过使用核心模板 `$:/core/templates/exporters/JsonFile`,将所有匹配筛选器 `[tag[done]]` 的条目保存到名为 `output.json` 的 JSON 文件。\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "呈现符合筛选条件的条目为指定的内容类型",
"text": "呈现符合筛选条的条目为指定的[[内容类型|ContentType]] (默认为 `text/html`) 与扩展名 (默认为 `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\n例如:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n在目标文件夹中的任何文件都会被删除,除非指定 ''noclean'' 旗标。若缺少目标文件夹,则以递归方式创建。"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "将条目的原始内容保存到一个文件",
"text": "保存个别条目的原始文本或二进制格式到指定的文件名。\n\n```\n--savetiddler <title> <filename>\n```\n\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "将一群条目的原始内容保存到一个文件夹",
"text": "保存一群条目的原始文字或二进制格式到指定的文件夹。\n\n```\n--savetiddlers <filter> <pathname> [noclean]\n```\n\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n保存指定的文件之前,会先清除输出目录的现有文件。可藉由指定 ''noclean'' 旗标,禁用该删除动作。\n\n自动创建在路径中任何缺少的文件夹。\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "提供一个 HTTP 服务器介面到 TiddlyWiki",
"text": "在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容,但不支持许多健全互联网面向的使用方式所需的功能。\n\n提供呈现一个指定条目,也可将个别条目编码成 JSON,且支持基本的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\n参数说明:\n\n* ''port'' - 服务的埠号 (默认为 \"8080\")\n* ''roottiddler'' - 服务的基本条目 (默认为 \"$:/core/save/all\")\n* ''rendertype'' - 呈现的基本条目内容类型 (默认为 \"text/plain\")\n* ''servetype'' - 服务的基本条目内容类型(默认为 \"text/html\")\n* ''username'' - 默认的编辑者署名\n* ''password'' - 可选的基本验证密码\n* ''host'' - 可选的主机名称, (默认为 \"127.0.0.1\" 或名为 \"localhost\")\n* ''pathprefix'' - 可选的路径前缀\n\n若指定密码参数,浏览器将提示使用者输入用户名与密码。注意,密码系以明码方式传递,因此并不适合一般正式用途。\n\n例如:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n若您需要设置主机名称或路径前缀而不要求输入密码,则可以指定空字符串的使用者名和密码:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n同时执行多个 TiddlyWiki 服务,须分别指定不同的埠号。\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "准备用于外部条目",
"text": "//请注意此命令是试验性的,且可能会更改或在最终定稿前被替换//\n\n设置一群条目的指定栏位到 wikifying 范本条目的结果,其中的 `currentTiddler` 变数设置为各该条目。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\n参数说明:\n\n* ''filter'' - 受影响的辨识条目的筛选条件\n* ''fieldname'' - 要修改的栏位(默认为 \"text\")\n* ''templatetitle'' - 该条目 wikify 到指定栏位。若为空白或丢失,则删除指定的栏位\n* ''rendertype'' - 要呈现的文本类型(默认为 \"text/plain\"; \"text/html\" 可以用于包含 HTML 标记))\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "从插件解开附属的条目",
"text": "提取插件的附属条目,将其建立为一般条目:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "触发详细的输出模式",
"text": "触发显示详细的命令执行过程,可用于调试\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "显示 TiddlyWiki 的版本编号",
"text": "显示 TiddlyWiki 的版本编号。\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "下列条目已被导入:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "取消"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "这些条目已备妥导入:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "导入"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "选择"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "状态"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "条目"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "封锁的不兼容或过时插件"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "封锁的插件 (由于传入的 <<incoming>> 较现有版本 <<existing>> 旧)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "升级插件,从 <<incoming>> 到 <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "封锁的暂存状态条目"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "封锁的系统条目"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "从 <$text text=<<from>>/> 迁移布景主题"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "您貌似要加载为 ~TiddlyWiki 经典版设计的插件。请注意,[[这些插件无法运行于 TiddlyWiki 5.x.x 版|http://tiddlywiki.com/#TiddlyWikiClassic]]。检测到 ~TiddlyWiki 经典版插件:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "此条目包含二进制数据"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "此条目以经典版 TiddlyWiki 标记格式撰写,不完全兼容新版 TiddlyWiki 的格式,详细信息请参阅:http://tiddlywiki.com/static/Upgrading。"
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "升级"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "全部关闭"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "最近︰"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "您确定要放弃对条目 \"<$text text=<<title>>/>\" 的更改?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "您确定要删除条目 \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "您确定要覆写条目 \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "您即将要编辑默认条目,任何更改将会覆盖默认的系统,使未来的升级不寻常。您确定要编辑 \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "计数"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "新条目"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "拖放到此处 (或按 ESC 键取消)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "取消"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "您要清除密码吗?当保存此维基时,这将删除已套用的加密"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "用户名称"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "密码"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "为此 TiddlyWiki 设置一个新密码"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "重复输入密码"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "密码不匹配"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "设定密码"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "错误"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "服务器上的文件已更改"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "筛选器错误"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "筛选器运算式中的语法错误"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "筛选器错误︰'is' 筛选器运算符的未知操作数"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "加载插件程式库时,发生错误"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "于 transclude 小部件中的递回嵌入错误"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "简要条目清单撷取错误"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "保存到 TWEdit 时,发生错误"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "保存时,发生错误"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest 错误代码"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "内部的 JavaScript 错误"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "喔,真是令人尴尬。建议刷新您的浏览器,重新启动 TiddlyWiki"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "栏位名称 \"<$text text=<<fieldName>>/>\" 包含无效字符,栏位名称只能包含小写字母、数字、底线 (`_`)、 连字号 (`-`) 和小数点 (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>正在从 ''<$text text={{!!_canonical_uri}}/>'' 加载外部条目 ...</p><p>如果此信息未消失,可能您使用的浏览器不支援此配置的外部条目。请参阅 http://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "登录 TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(无)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "依标签筛选︰"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "反向顺序"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "搜寻"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "搜寻︰"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "标签"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "条目"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "显示︰"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "排序︰"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "颜色"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "栏位"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(无)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "图标"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "原始文字"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "标签"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "工具"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified 文字"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "佚失条目 \"<$text text=<<currentTiddler>>/>\" - 点击 {{$:/core/images/edit-button}} 可创建此条目"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "否"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "~TiddlyWiki 官方插件程式库"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件程式库。由核心团队维护的插件、主题和语言包。"
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} 允许更改插件才能生效"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "YYYY年0MM月0DD日"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "此为系统条目"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "包括系统条目"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "颜色"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "计数"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "图标"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "信息"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "标签"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "YYYY年0MM月0DD日 0hh:0mm"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "在此 TiddlyWiki 您有尚未保存的变更"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "是"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">关闭</$button>",
"help": "http://tiddlywiki.com/",
"text": "您的浏览器只支援手动保存。\n\n要保存更动的维基,右键点击下方的下载链结,选择\"下载文件\"或\"保存文件\",然后选择文件夹或文件名。\n\n//您可以藉由按一下 Ctrl 键(Windows)或 options/ alt 键(Mac OS X)中的链接,稍微加速操作。您不会被提示文件夹或文件名,您的浏览器可能无法辨认它的文件名 -- 在做其他任何事之前,您可能需要重新命名扩展名为 `.html` 的文件。//\n\n在智能型手机上,不允许下载文件,但您可以标记链结,然后从一台可以正常保存维基的台式机的维基同步你的书签。"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">关闭</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "您对此 wiki 的变更需被保存为 ~TiddlyWiki HTML 文件。\n\n!!! 桌面版浏览器\n\n# 从''文件''菜单点选 ''另存为''\n# 选定文件名及保存位置\n#* 某些浏览器依然需要明确指定文件格式为 ''Webpage, HTML only'' 或类似的。\n# 关闭此页签\n\n!!! 智能手机版浏览器\n\n# 为此页建立书签\n#* 若您已设置 iCloud 或 Google 同步,该书签将自动与之前开启及保存于您电脑的书签同步。\n# 关闭此页签\n\n//若您再次于 Mobile Safari 开启该书签,将会再看到此信息。若要继续使用该文件,只需点击下列 ''关闭'' 按钮//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "YYYY年0MM月0DD日"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "日志"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "已保存 wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "开始保存 wiki"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "列表"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "筛选"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "以[[筛选表达式|http://tiddlywiki.com/static/Filters.html]]查找"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "所有匹配:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "条目名称匹配:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "查找"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "查找文本太短"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "默认"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "查找默认条目"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "标准"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "查找一般条目"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "系统"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "查找系统条目"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "全部"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "目录"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "草稿"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "缺失"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "更多"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "开启"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "孤立"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "最近"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "默认"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "系统"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "标签"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "未设标签"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "工具"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "类型"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "一个非线性的网页式笔记"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "我的 ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "依标签筛选的条目列表",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "宏的定义",
"text": "\\define macroName(param1:\"默认值\",param2)\n宏的内容\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "4 x 3 的表格",
"text": "|! | !一 | !二 | !三 | !四 |\n|! 1| | | | |\n|! 2| | | | |\n|! 3 | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "目录",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "主题调整"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "您可以调整 ''Vanilla'' 布景主题的某些样貌。"
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "选项"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "侧边栏布局"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "固定故事,浮动侧边栏"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "浮动故事,固定侧边栏"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "置顶标题"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "导致条目名称\"黏着\"于浏览器窗口的顶部。<br>注意︰此功能无法运作于 Chrome,且于 Firefox 中会导致一些布局问题"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "在代码区块中折行"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "设置"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "字型"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "代码字型"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "页面背景图像"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "页面背景图像附属"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "随条目卷动"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "固定于窗口"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "页面背景图像大小"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "自动"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "覆盖"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "包含"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "大小"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "字体大小"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "行高"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "条目本文的字体大小"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "条目本文的行高"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "故事左侧位置"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "故事河(条目区)的左边缘与页面左端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "故事顶端位置"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "故事河(条目区)的上边缘与页面顶端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "故事右侧位置"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "侧边栏的左边缘与页面左端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "故事的宽度"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "故事河的整体宽度"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "条目宽度"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "在故事河内"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "侧边栏中断点"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "故事河和侧边栏会并排显示的最小页面宽度"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "侧边栏宽度"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "在浮动-固定布局中,侧边栏的宽度"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "高级"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "无信息"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "插件明细"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "此插件包含以下预设条目:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "默认条目状态"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "<$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 不是一个默认条目"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "<$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 是一个默认条目"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "此条目定义于插件 <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "已被一般条目覆写"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "栏位"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "列表"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "此条目无指定列表"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "被列于"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "此条目未出现于其他条目的列表中"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "参照"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "无条目链接至此"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "子条目"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "无任何条目以此条目之标题为标签"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "工具"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript 源码",
"name": "application/javascript",
"group": "开发者"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON 数据",
"name": "application/json",
"group": "开发者"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "数据字典",
"name": "application/x-tiddler-dictionary",
"group": "开发者"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF 图像",
"name": "image/gif",
"group": "图像"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG 图像",
"name": "image/jpeg",
"group": "图像"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG 图像",
"name": "image/png",
"group": "图像"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "结构式矢量图",
"name": "image/svg+xml",
"group": "图像"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "图标",
"name": "image/x-icon",
"group": "图像"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "静态样式",
"name": "text/css",
"group": "开发者"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML 标记",
"name": "text/html",
"group": "文本"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "纯文本",
"name": "text/plain",
"group": "文本"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "文本"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki 2",
"name": "text/x-tiddlywiki",
"group": "文本"
},
"$:/languages/zh-Hans/icon": {
"title": "$:/languages/zh-Hans/icon",
"type": "image/svg+xml",
"text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"1500\" height=\"1000\" viewBox=\"-5 -5 30 20\">\n<title>Flag of the People's Republic of China</title>\n<rect fill=\"#de2910\" x=\"-5\" y=\"-5\" width=\"30\" height=\"20\"/>\n<defs>\n<polygon id=\"s\" points=\"0,-513674 301930,415571 -488533,-158734 488533,-158734 -301930,415571\"\nfill=\"#ffde00\" transform=\"scale(0.0000019467600073)\"/>\n</defs>\n<use xlink:href=\"#s\" transform=\"scale(3)\"/>\n<use xlink:href=\"#s\" transform=\"translate(5,-3) rotate(-120.963756)\"/>\n<use xlink:href=\"#s\" transform=\"translate(7,-1) rotate(-98.130102)\"/>\n<use xlink:href=\"#s\" transform=\"translate(7,2) rotate(-74.054604)\"/>\n<use xlink:href=\"#s\" transform=\"translate(5,4) rotate(-51.3401917)\"/>\n</svg>\n"
}
}
}
{
"tiddlers": {
"$:/plugins/danielo/encryptTiddler/Changelog": {
"title": "$:/plugins/danielo/encryptTiddler/Changelog",
"text": "!! V2.1\n* Added control panel.\n* Added ability to batch encrypt and decrypt tiddlers.\n* Added some documentation an language strings.\n\n"
},
"$:/plugins/danielo/encryptTiddler/control-panel/batch-encrypt": {
"title": "$:/plugins/danielo/encryptTiddler/control-panel/batch-encrypt",
"caption": "Batch Encryption",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n{{$:/plugins/danielo/encryptTiddler/language/batch}}\n\n<$linkcatcher to=\"$:/temp/encrypt/filter\">\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/encrypt/filter\" type=\"search\" tag=\"input\" default=\"\" placeholder=\"filter tiddlers\"/>\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n<$reveal state=\"$:/temp/encrypt/filter\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/encrypt/filter\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n\n\n<$edit-text tag=\"input\" tiddler=\"$:/temp/password\" placeholder=\"password\" type=\"password\" default=\"\" col=\"4\"/><$encryptTiddler passwordTiddler=\"$:/temp/password\" filter={{$:/temp/encrypt/filter}}>\n<$button message=\"tw-encrypt-tiddler\">\nEncrypt\n</$button>\n<$button message=\"tw-decrypt-tiddler\">\nDecrypt\n</$button>\n</$encryptTiddler>\n</$reveal>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]!sort[]] -[[$:/core/Filters/SystemTags]] -[[$:/core/Filters/AllTags]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/encrypt/filter\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/encrypt/filter}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/encrypt/filter}} template=\"$:/plugins/danielo/encryptTiddler/ui/listItemTemplate\"/>\n</div>\n</$set>\n</$reveal>"
},
"$:/plugins/danielo/encryptTiddler/control-panel": {
"title": "$:/plugins/danielo/encryptTiddler/control-panel",
"tags": "$:/tags/ControlPanel",
"caption": "Encrypt Tiddlers",
"text": "\\define prefix(name) $:/plugins/danielo/encryptTiddler/control-panel/$name$\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]prefix[$:/plugins/danielo/encryptTiddler/control-panel/]]\" default=<<prefix \"batch-encrypt\">> state=\"$:/state/encryptTiddler/control-panel/tabs\">>"
},
"$:/plugins/danielo/encryptTiddler/crypt-batch-button": {
"creator": "Danielo",
"title": "$:/plugins/danielo/encryptTiddler/crypt-batch-button",
"text": "<span title=\"Encrypt/Decrypt tiddler\" class=\"pc-batch-controls\">\n<$reveal state=<<qualify \"$:/state/encrypt\">> type=\"nomatch\" text={{!!title}} animate=\"no\"><$button set=<<qualify \"$:/state/encrypt\">> setTo={{!!title}} class=\"tc-btn-invisible\">{{$:/plugins/danielo/encryptTiddler/unlocked}}</$button></$reveal><$reveal state=<<qualify \"$:/state/encrypt\">> type=\"match\" text={{!!title}} animate=\"no\"><$button set=<<qualify \"$:/state/encrypt\">> setTo=\"\" class=\"tc-btn-invisible\">{{$:/plugins/danielo/encryptTiddler/unlocked}}</$button></$reveal>\n<$encryptTiddler passwordTiddler=\"$:/temp/password\" filter={{$:/temp/encrypt/filter}}><$reveal state=<<qualify \"$:/state/encrypt\">> type=\"match\" text={{!!title}} animate=\"yes\">\n<div class=\"tc-block-dropdown tw-crypt-dropdown\">\n<span class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"password\" class=\"tc-edit-texteditor\"/></span>\n<span class=\"tw-crypt-button\"> <$button message=\"tw-encrypt-tiddler\" set=<<qualify \"$:/state/encrypt\">> setTo=\"\" >Encrypt</$button> <$button message=\"tw-decrypt-tiddler\" set=<<qualify \"$:/state/encrypt\">> setTo=\"\" >Decrypt</$button></span>\n</div>\n</$reveal></$encryptTiddler>\n</span>"
},
"$:/plugins/danielo/encryptTiddler/crypt-button": {
"created": "20140405233000477",
"creator": "Danielo",
"modified": "20140608121335075",
"tags": "$:/tags/ViewToolbar button encrypt export",
"title": "$:/plugins/danielo/encryptTiddler/crypt-button",
"type": "text/vnd.tiddlywiki",
"text": "<span title=\"Encrypt/Decrypt tiddler\"><$transclude tiddler=\"$:/plugins/danielo/encryptTiddler/openPopup\"/>\n</span><$encryptTiddler passwordTiddler=\"$:/temp/password\"><$reveal state=\"$:/state/encrypt\" type=\"match\" text={{!!title}} animate=\"yes\">\n<div class=\"tc-block-dropdown tw-crypt-dropdown\">\n<span class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"password\" class=\"tc-edit-texteditor\"/></span>\n<span class=\"tw-crypt-button\"> <$list filter=\"[all[current]!has[encrypted]]\"> <$button message=\"tw-encrypt-tiddler\" set=\"$:/state/encrypt\" setTo=\"\" >Encrypt</$button></$list><$list filter=\"[is[current]has[encrypted]]\"> <$button message=\"tw-decrypt-tiddler\" set=\"$:/state/encrypt\" setTo=\"\" >Decrypt</$button></$list></span>\n</div>\n</$reveal></$encryptTiddler>\n"
},
"$:/plugins/danielo/encryptTiddler/Encrypt-Tiddler": {
"created": "20140406153742691",
"creator": "pepito",
"description": "add the hability to encrypt individual tiddlers",
"modified": "20141029152631265",
"modifier": "Danielo Rodriguez",
"tags": "index plugins",
"title": "$:/plugins/danielo/encryptTiddler/Encrypt-Tiddler",
"type": "text/vnd.tiddlywiki",
"caption": "readme",
"text": "This plugin adds the ability to encrypt your tiddlers individually. This have several advantages:\n\n* You can specify a different password for each tiddler if you want.\n* You don't have to encrypt your whole wiky.\n* If you forget your password, you only lose a tiddler.\n* It's possible to edit the tiddler content , tags and fields ''except the encrypt field'' after encryption. Decrypting your tiddler will restore it to its original state when you encrypted it. This way you can hide the encrypted tiddlers as a \"different\" thing.\n* You can even encrypt images.\n* You can have sensible data in a day to day wiky.\n* I didn't try this, but theoretically you can apply double encryption by encrypting your wiki too."
},
"$:/plugins/danielo/encryptTiddler/encrypttiddler.js": {
"text": "/*\\\ntitle: $:/plugins/danielo/encryptTiddler/encrypttiddler.js\ntype: application/javascript\nmodule-type: widget\n\nencrypttiddler widget\n\n```\n\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar encryptTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t\t{type: \"tw-encrypt-tiddler\", handler: \"handleEncryptevent\"},\n\t\t\t{type: \"tw-decrypt-tiddler\", handler: \"handleDecryptevent\"},\n\t\t\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nencryptTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nencryptTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tconsole.log(\"Render\");\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nencryptTiddlerWidget.prototype.execute = function() {\n\t// Get attributes\n\t this.tiddlerTitle=this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t this.filter=this.getAttribute(\"filter\",undefined);\n \t this.passwordTiddler=this.getAttribute(\"passwordTiddler\");\n\t// Construct the child widgets\n\tconsole.log(this.targetTiddler);\n\t\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nencryptTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.filter) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nencryptTiddlerWidget.prototype.getTiddlersToProcess = function(){\n\tif(this.filter){ //we have a filter to work with\n\t\treturn this.wiki.filterTiddlers(this.filter);\n\t}else{ //single tiddler case\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t\treturn tiddler? [tiddler.fields.title] : [];\n\t}\n};\n\nencryptTiddlerWidget.prototype.handleEncryptevent = function(event){\n\tvar password = this.getPassword();\n\tvar tiddlers = this.getTiddlersToProcess();\n\n\tif(tiddlers.length > 0 && password){\n\t\tvar self = this;\n\t\t$tw.utils.each(tiddlers, function(title){\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tvar fields={text:\"!This is an encrypted Tiddler\",\n\t\t\t\t\t\t\t\t encrypted:self.encryptFields(title,password)};\n\t\t\tself.saveTiddler(tiddler,fields);\n\t\t});\n\n\t}else{\n\t\tconsole.log(\"We did not find any tiddler to encrypt or password not set!\")\n\t}\n};\n\nencryptTiddlerWidget.prototype.handleDecryptevent = function(event){\n\tvar password =this.getPassword();\n\tvar tiddlers = this.getTiddlersToProcess();\n\n\tif(tiddlers.length > 0 && password){\n\t\tvar self = this;\n\t\t$tw.utils.each(tiddlers, function(title){\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tvar fields = self.decryptFields(tiddler,password);\n\t\t\tif(fields)self.saveTiddler(tiddler,fields);\n\t\t});\n\t}\n};\n\nencryptTiddlerWidget.prototype.saveTiddler=function(tiddler,fields){\n\tthis.wiki.addTiddler( new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,this.clearNonStandardFields(tiddler), fields ) )\n}\n\nencryptTiddlerWidget.prototype.encryptFields = function (title,password){\n\tvar jsonData=this.wiki.getTiddlerAsJson(title);\n\treturn $tw.crypto.encrypt(jsonData,password);\n\n};\n\nencryptTiddlerWidget.prototype.decryptFields = function(tiddler,password){\n\t\tvar JSONfields =$tw.crypto.decrypt(tiddler.fields.encrypted,password);\n\t\tif(JSONfields!==null){\n\t\t\treturn JSON.parse(JSONfields);\n\t\t}\n\t\tconsole.log(\"Error decrypting \"+tiddler.fields.title+\". Probably bad password\")\n\t\treturn false\n};\n\nencryptTiddlerWidget.prototype.getPassword = function(){\n\tvar tiddler=this.wiki.getTiddler(this.passwordTiddler);\n\tif(tiddler){\n\t\tvar password=tiddler.fields.text;\n\t\tthis.saveTiddler(tiddler); //reset password tiddler\n\t\treturn password;\n\t}\n\n\treturn false\n};\n\n// This function erases every field of a tiddler that is not standard and also\n// the text field\nencryptTiddlerWidget.prototype.clearNonStandardFields =function(tiddler) {\n\tvar standardFieldNames = \"title tags modified modifier created creator\".split(\" \");\n\t\tvar clearFields = {};\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(standardFieldNames.indexOf(fieldName) === -1) {\n\t\t\t\tclearFields[fieldName] = undefined;\n\t\t\t}\n\t\t}\n\t\tconsole.log(\"Cleared fields \"+JSON.stringify(clearFields));\n\t\treturn clearFields;\n};\n\nexports.encryptTiddler = encryptTiddlerWidget;\n\n})();",
"title": "$:/plugins/danielo/encryptTiddler/encrypttiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/danielo/encryptTiddler/Filters/encrypted-tiddlers": {
"title": "$:/plugins/danielo/encryptTiddler/Filters/encrypted-tiddlers",
"description": "All encrypted tiddlers",
"filter": "[has[encrypted]]",
"tags": "$:/tags/Filter"
},
"$:/plugins/danielo/encryptTiddler/Filters/normal-unencrypted-tiddlers": {
"title": "$:/plugins/danielo/encryptTiddler/Filters/normal-unencrypted-tiddlers",
"filter": "[!is[system]!has[encrypted]]",
"description": "Non-encrypted normal tiddlers",
"tags": "$:/tags/Filter"
},
"$:/plugins/danielo/encryptTiddler/language/batch": {
"title": "$:/plugins/danielo/encryptTiddler/language/batch",
"text": "Use below controls to encrypt or decrypt a bunch of tiddlers. Encryption ''controls are hidden'' until you type something in the search box. All listed tiddlers will be affected. The presence of a small padlock (<span class=\"pc-listItem-lock\">{{$:/core/images/locked-padlock}}</span>) next to the tiddler title indicates that particular tiddler is already encrypted."
},
"$:/plugins/danielo/encryptTiddler/ui/listItemTemplate": {
"title": "$:/plugins/danielo/encryptTiddler/ui/listItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n<$list filter=\"[all[current]has[encrypted]]\">\n<span class=\"pc-listItem-lock\">{{$:/core/images/locked-padlock}}</span>\n</$list>\n</$link>\n</div>"
},
"$:/plugins/danielo/encryptTiddler/openPopup": {
"created": "20140406151910358",
"creator": "Danielo",
"modified": "20140608121417975",
"modifier": "pepito",
"tags": "button encrypt export",
"title": "$:/plugins/danielo/encryptTiddler/openPopup",
"type": "text/vnd.tiddlywiki",
"text": "<$reveal state=\"$:/state/encrypt\" type=\"nomatch\" text={{!!title}} animate=\"no\"><$button set=\"$:/state/encrypt\" setTo={{!!title}} class=\"tc-btn-invisible\">{{$:/plugins/danielo/encryptTiddler/unlocked}}</$button></$reveal><$reveal state=\"$:/state/encrypt\" type=\"match\" text={{!!title}} animate=\"no\"><$button set=\"$:/state/encrypt\" setTo=\"\" class=\"tc-btn-invisible\">{{$:/plugins/danielo/encryptTiddler/unlocked}}</$button></$reveal>"
},
"$:/plugins/danielo/encryptTiddler/styles": {
"created": "20140406110705085",
"creator": "pepito",
"modified": "20140608121510064",
"modifier": "pepito",
"tags": "$:/tags/Stylesheet encrypt export",
"title": "$:/plugins/danielo/encryptTiddler/styles",
"type": "text/plain",
"text": ".tw-password-field {\n\tdisplay: inline-block;\n\twidth: 55%;\n font-size:1em;\n line-height:0;\n margin:0;\n\tpadding-left:7%;\n}\n\n.pc-batch-controls .tw-crypt-dropdown{\n\tright: 0px;\n}\n\n.pc-batch-controls{\n\t\tposition:relative;\n}\n\n.pc-listItem-lock svg{\n\theight: 1em;\n\twidth: 1em;\n\tfill: #aaaaaa;\n}\n\n/*It is for use in combination with tc-block-dropdown */\n.tw-crypt-dropdown{\n line-height:0;\n\t\t\tpadding-left:5px;\n\t\t\t}\n\n.tw-password-field input{\n font-size:0.5em;\n\n}\n\n.tw-crypt-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n.tw-crypt-button button{\n\tfont-size:0.5em;\n}\n"
},
"$:/plugins/danielo/encryptTiddler/unlocked": {
"created": "20140406101339943",
"creator": "danielo515",
"modified": "20140608121532690",
"modifier": "danielo515",
"tags": "encrypt export",
"title": "$:/plugins/danielo/encryptTiddler/unlocked",
"type": "text/vnd.tiddlywiki",
"text": "<svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button\"\n\t viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\">\n<g>\n\t<path d=\"M77.555,50H35.304V31.63c0-4.057,1.435-7.521,4.305-10.391c2.87-2.87,6.333-4.305,10.391-4.305\n\t\tc4.056,0,7.52,1.435,10.39,4.305s4.305,6.335,4.305,10.391c0,0.996,0.363,1.857,1.091,2.583c0.727,0.729,1.588,1.09,2.583,1.09\n\t\th3.674c0.995,0,1.856-0.361,2.583-1.09c0.727-0.727,1.091-1.588,1.091-2.583c0-7.079-2.517-13.136-7.549-18.17\n\t\tC63.136,8.428,57.08,5.912,50,5.912c-7.081,0-13.137,2.516-18.169,7.548c-5.033,5.034-7.549,11.091-7.549,18.17V50h-1.837\n\t\tc-1.531,0-2.833,0.536-3.904,1.608c-1.072,1.072-1.607,2.372-1.607,3.902v33.067c0,1.532,0.535,2.832,1.607,3.904\n\t\tc1.071,1.072,2.372,1.608,3.904,1.608h55.11c1.53,0,2.832-0.536,3.904-1.608c1.071-1.072,1.607-2.372,1.607-3.904V55.51\n\t\tc0-1.529-0.536-2.83-1.607-3.902C80.387,50.536,79.085,50,77.555,50z M54.315,72.937V83.72c0,2.173-1.762,3.935-3.935,3.935H49.62\n\t\tc-2.173,0-3.935-1.762-3.935-3.935V72.937c-2.31-1.443-3.852-4.001-3.852-6.925c0-4.511,3.657-8.167,8.167-8.167\n\t\ts8.167,3.657,8.167,8.167C58.167,68.937,56.625,71.495,54.315,72.937z\"/>\n</g>\n</svg>\n"
}
}
}
{
"originalVersion": "0.13.4+9665",
"dataStructureState": "0.11.0",
"showWelcomeMessage": false
}
{
"tiddlers": {
"$:/plugins/telmiger/EditorCounter/counter.js": {
"created": "20170207230719552",
"creator": "Thomas Elmiger",
"text": "/*\\\ntitle: $:/plugins/telmiger/EditorCounter/counter.js\ntype: application/javascript\nmodule-type: widget\n\nversion: 0.6.3\n\nCount the number of words or characters in a tiddler/field/input string – Autosave while editing\n\nUsage: see the plugin’s readme.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CounterWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCounterWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM – reset autosave attributes\n*/\nCounterWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// autosave attributes\n\tthis.diffTotal = 0;\n\tthis.saveNow = false;\n\t// calculate state \n\tthis.execute();\n\tif(this.mode == \"autosave\") {\n\t\t// store the number of last saved characters\n\t\tthis.lastSavedCount = this.currentCount;\n\t\tthis.diffLastCount = this.currentCount;\n\t} \n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tvar domNode = this.document.createElement(\"span\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCalculate the numbers\n*/\nCounterWidget.prototype.getLength = function(text) {\n\tvar result = 0;\n\tswitch(this.mode) {\n\t\tcase \"character\":\n\t\t\tresult = text.length.toString();\n\t\t\tbreak;\n\t\tcase \"autosave\":\n\t\t\tresult = text.length.toString();\n\t\t\t// sum up difference since last count\n\t\t\tthis.diffTotal += this.checkAutosave(result);\n\t\t\t// check saving limit\n\t\t\tthis.saveNow = (this.diffTotal >= this.saveLimit) ? true : false;\n\t\t\tbreak;\n\t\tcase \"word\":\n\t\t\tif(text.match(/\\w+/g)) {\n\t\t\t\tresult = text.match(/\\w+/g).length.toString();\n\t\t\t} else {\n\t\t\t\tresult = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault: // \"?!\"\n\t\t\tresult = \"mode undefined\";\n\t}\n\treturn result;\n}\n\n/*\nSet autosave \n*/\nCounterWidget.prototype.checkAutosave = function(textlength) {\n\t// calculate difference since last count\n\tthis.diffChars = Math.abs(textlength - this.diffLastCount);\n\t// store text length\n\tthis.diffLastCount = textlength;\n\treturn this.diffChars;\n}\n\n/*\nGet the colors as an array\n*/\nCounterWidget.prototype.getColors = function() {\n\tvar color_array1 = this.colors.split(',');\n\tvar i;\n\tcolor_array1.sort(function sortfunction(a, b){\n\t\treturn a.split(':')[1] - b.split(':')[1];\n\t});\n\tfor(i = 0; i < color_array1.length; i++) {\n\t\tthis.color_array[i] = color_array1[i].split(':')[0];\n\t\tthis.count_array[i] = color_array1[i].split(':')[1];\n\t}\n}\n\n/*\nGet the numbers\n*/\nCounterWidget.prototype.getNumber = function() {\n\t// Count letters or words as appropriate.\n\tvar result = 0;\n\tif(this.countText) {\n\t\t// text supplied as parameter \n\t\tresult = this.getLength(this.countText);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddler);\n\t\tvar fieldContent = tiddler.getFieldString(this.field);\n\t\tif(fieldContent) {\n\t\t\tresult = this.getLength(fieldContent);\n\t\t} else {\n\t\t\tresult = 0;\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nCounterWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.mode = this.getAttribute(\"mode\",\"character\");\n\tthis.saveLimit = this.getAttribute(\"savelimit\",200);\n\tthis.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.field = this.getAttribute(\"field\",\"text\");\n\tthis.countText = this.getAttribute(\"text\");\n\tthis.colors = this.getAttribute(\"colors\");\n\tthis.stateTiddler = this.getAttribute(\"colorState\");\n\t// Count letters or words as appropriate.\n\tthis.currentCount = this.getNumber();\n\tthis.diffChars = 0;\n\t//Find the color cut-offs, if any.\n\tif(this.colors) {\n\t\tthis.color_array = [];\n\t\tthis.count_array = [];\n\t\tvar i;\n\t\tthis.getColors();\n\n\t\t// set the color if the counter is high enough. The color with the largest value that is less than this.currentCount wins.\n\t\tfor(i = 0; i < this.color_array.length; i++) {\n\t\t\tif(Number(this.currentCount) >= Number(this.count_array[this.color_array.length - 1 - i])) {\n\t\t\t\tif(this.stateTiddler) {\n\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,this.color_array[this.color_array.length -1 - i]);\n\t\t\t\t}\n\t\t\t\tthis.currentCount = '@@color:' + this.color_array[this.color_array.length -1 - i] + ';' \n\t\t\t\t\t+ this.currentCount + '@@';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.stateTiddler && i === this.color_array.length-1) {\n\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,'');\n\t\t\t}\n\t\t}\n\t}\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",this.currentCount,{parseAsInline: true});\n\tvar parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCounterWidget.prototype.refresh = function(changedTiddlers) {\n\tvar refreshed = false;\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount && this.mode !== \"autosave\") {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t}\n\tif(this.saveNow) {\n\t\t// Trigger an autosave and refresh\n\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t} \n\treturn refreshed;\n};\n\nexports[\"editor-counter\"] = CounterWidget;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/telmiger/EditorCounter/counter.js",
"tags": "EditorCounter",
"module-type": "widget",
"modifier": "Thomas Elmiger",
"modified": "20170513200904421"
},
"$:/plugins/telmiger/EditorCounter/icon": {
"created": "20170209074404836",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64.003\" height=\"64.003\" viewBox=\"-500.5 395.5 64.003 64.003\"><path d=\"M-468.5 396.5l26.426 15.5v31l-26.425 15.5-26.426-15.5v-31l26.427-15.5z\"/><path fill=\"#FFF\" d=\"M-485.996 419.088h34.99v16.824h-34.99z\"/><path fill=\"#E2001A\" d=\"M-468.5 405.5c-12.15 0-22 9.85-22 22s9.85 22 22 22 22-9.85 22-22-9.85-22-22-22zm13.11 21.637c-1.022.682-2.674 1.023-4.954 1.023h-2.838c-1.505 0-2.598.3-3.28.9-.68.6-1.22 1.804-1.622 3.615 0 0-.063.526-.178.526s-.13-.31-.184-.562c-.056-.263-.14-.59-.256-.977-.224-.758-.447-1.332-.67-1.72-.27-.482-.613-.87-1.024-1.165-.412-.294-.883-.47-1.413-.528l-.74-.088h-3.637c-2.178 0-3.796-.343-4.855-1.024-1.764-1.12-2.71-3.24-2.842-6.357-.01-.25 0-.48.047-.772h.208c.142 1.41 1.304 2.502 2.158 3.274.853.77 2.222 1.155 4.104 1.155h3.3c1.896 0 3.28.436 4.158 1.306.79.786 1.31 2.017 1.56 3.69.028.183.012.263.064.263.053 0 .04-.09.06-.278.253-2.173 1.094-3.627 2.522-4.363.88-.46 2.28-.676 4.196-.652l2.257.035c1.527.023 2.814-.278 3.86-.908 1.046-.63 2.285-1.803 2.425-3.52h.21c.065.17.057.56.045.828-.13 3.105-1.023 5.206-2.68 6.3z\"/></svg>",
"type": "image/svg+xml",
"title": "$:/plugins/telmiger/EditorCounter/icon",
"tags": "",
"modified": "20170209074423973"
},
"$:/plugins/telmiger/EditorCounter/readme": {
"created": "20170209064758307",
"creator": "Thomas Elmiger",
"text": "!! Count Your Texts & Autosave\nThe [[EditorCounter plugin|https://tid.li/tw5/plugins.html#EditorCounter]] provides counters for words and characters in the edit view of your tiddlers. And it can save your texts automagically in the background while you work.\n\n!!! The counters\n* In edit mode users can see stats concerning the tiddler’s text and title fields. The numbers are updated whenever they pause typing.\n* Counters for words and characters can be activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]].\n* The colours of the counters change at some predefined numbers.\n** Settings for colors and color limits are not available in the plugin configuration. <br>Workaround: edit [[the template|$:/plugins/telmiger/EditorCounter/EditTemplate]].\n\n!!! Autosave\n* When activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]], //autosave// will try to save the wiki in the background during editing: whenever a predefined number of characters has been added or removed, a save is triggered.\n** As an option you can show a checkbox in the editor to pause/activate automatic saving.\n\n!!! Parameters\n\n|!Parameter |!Description |\n|colors |Optionally, define an array of color and number pairs to set minimal color limits. |\n|colorState |Optional state tiddler to save the color value. |\n|field |Calculate for the text in this field. |\n|mode |Entity to calculate: //word// or //character// or //autosave//. Defaults to \"character\". |\n|savelimit |A number of character changes after which //autosave// is performed. Default value: 200 |\n|text |Calculate this text. |\n|tiddler |Optional title of a tiddler to take the field from. Defaults to current tiddler. |\n\n!!! Widget usage\nThis plugin is based on a similar [[solution by Jed Carty|$:/plugins/telmiger/EditorCounter/credits]] – many thanks! \n\nThe widget can be used in other contexts than the plugin. The usage would be very similar to [[Jed’s examples on ooktech.com|http://ooktech.com/jed/ExampleWikis/WordCount/#%24%3A%2Fplugins%2Finmysocks%2FWordCount%2FWord%20Count%20Widget]] \n\nKnown differences: instead of `<$word-count` start with `<$editor-counter`. Default mode is //character//.\n\n!!!! Widget examples\n\n```\n<$editor-counter tiddler=SomeTiddler field=some_field mode=word/>\n<$editor-counter tiddler=SomeTiddler mode=character colors=\"blue:10,green:50,red:100\"/>\n<$editor-counter text=\"some text string\" mode=character colorState=\"$:/state/someTextColor\" colors=\"blue:10,green:50\"/>\n<$editor-counter mode=autosave savelimit=300/>\n```\n",
"title": "$:/plugins/telmiger/EditorCounter/readme",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170513193917595"
},
"$:/plugins/telmiger/EditorCounter/settings": {
"text": "!! Counter Settings\nActivate counters here. Your choice will be visible below the text field in edit mode.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/characters\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Character counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/words\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Word counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/title\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Title characters counter</$checkbox>\n\n!! Autosave Settings\nAutosave will try to save your wiki in the background after adding or removing 200 characters. You can change this value below.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n every <$edit-text tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"limit\" size=\"4\"/> characters.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show checkbox to start/pause autosave in editor</$checkbox>\n\n<br>''\n\n<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Hint}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>\n\n''<br>\n\nNote: ''All'' characters are counted as entered in the editor, regardless if they are invisible in the result or if they produce more text based on data or transclusion.",
"title": "$:/plugins/telmiger/EditorCounter/settings",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170513185158209",
"creator": "Thomas Elmiger",
"created": "20170208062643245"
},
"$:/plugins/telmiger/EditorCounter/settings/characters": {
"created": "20170208063042363",
"creator": "Thomas Elmiger",
"text": "yes",
"title": "$:/plugins/telmiger/EditorCounter/settings/characters",
"modifier": "Thomas Elmiger",
"modified": "20170209071527563",
"tags": "EditorCounter"
},
"$:/plugins/telmiger/EditorCounter/settings/title": {
"created": "20170208211524752",
"creator": "Thomas Elmiger",
"text": "yes",
"title": "$:/plugins/telmiger/EditorCounter/settings/title",
"modified": "20170209071517463",
"modifier": "Thomas Elmiger",
"tags": "EditorCounter"
},
"$:/plugins/telmiger/EditorCounter/settings/words": {
"text": "no",
"title": "$:/plugins/telmiger/EditorCounter/settings/words",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170216003921105",
"creator": "Thomas Elmiger",
"created": "20170208063040756"
},
"$:/plugins/telmiger/EditorCounter/EditTemplate": {
"text": "<span style=\"display:block; margin-top:-18px; margin-bottom:18px;\">\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\">\n<$editor-counter tiddler=<<currentTiddler>> colors='black:0,gray:140,green:300,indianred:800,red:1600'/> characters </$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n<span class=\"tc-muted\"><span class=\"tc-dirty-indicator\">•</span> <$editor-counter mode=autosave savelimit={{$:/plugins/telmiger/EditorCounter/settings/autosave!!limit}}/> saved</span>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\"> \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/words\">\n<$editor-counter mode=word colors='black:0,gray:200,green:300,indianred:1000,red:2000'/> words \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\">\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n (uncheck to pause)\n</$reveal>\n</$reveal>\n</span>\n\n<!--\n* Show the number of characters and/or words entered in edit mode.\n* Show the number of characters at last autosave (autosave at a character difference as defined in settings).\n-->",
"title": "$:/plugins/telmiger/EditorCounter/EditTemplate",
"tags": "$:/tags/EditTemplate EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170513184811368",
"list-before": "$:/core/ui/EditTemplate/type",
"creator": "Thomas Elmiger",
"created": "20170126185919666"
},
"$:/plugins/telmiger/EditorCounter/TitleTemplate": {
"text": "<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/title\">\n<span title=\"Title length\" style=\"display:block; text-align:right; margin: -22px 3px 2px 0; opacity:0.6;\">\n<$editor-counter tiddler=<<currentTiddler>> field=\"draft.title\" colors='green:20,indianred:30,red:40'/> chars\n</span>\n</$reveal>\n\n<!--\nShow the number of characters in the title\n-->",
"title": "$:/plugins/telmiger/EditorCounter/TitleTemplate",
"tags": "$:/tags/EditTemplate EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170303172302480",
"list-before": "$:/core/ui/EditTemplate/tags",
"creator": "Thomas Elmiger",
"created": "20170213190419968"
},
"$:/plugins/telmiger/EditorCounter/settings/autosave": {
"created": "20170303132537685",
"creator": "Thomas Elmiger",
"text": "no",
"title": "$:/plugins/telmiger/EditorCounter/settings/autosave",
"modifier": "Thomas Elmiger",
"modified": "20170304110651863",
"limit": "200",
"tags": "EditorCounter"
},
"$:/plugins/telmiger/EditorCounter/credits": {
"text": "!! Credits\n\nMany thanks to Jed for his blueprint widget and demo site, originally on http://ooktech.com/jed/ExampleWikis/WordCount/ as well as to Skeeve who obviousliy contributed the original macro version Jed based his solution on.\n\n* http://ooktech.com/TiddlyWiki/\n* http://ooktech.com/TiddlyWiki/WordCount/\n\n//Powered by the fantastic TiddlyWiki community.//\n",
"title": "$:/plugins/telmiger/EditorCounter/credits",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170304104718649",
"creator": "Thomas Elmiger",
"created": "20170304102433909"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/lib/language": {
"text": "$:/plugins/telmiger/lib/languages/en-GB",
"created": "20160820133735127",
"creator": "Thomas Elmiger",
"modified": "20160917153239827",
"modifier": "Thomas Elmiger",
"priority": "2",
"tags": "ToDoDone ToDoComponents",
"title": "$:/plugins/telmiger/lib/language",
"todo-deadline": "",
"todo-done": "20160820234641 20160821004547"
},
"$:/plugins/telmiger/lib/languages/en-GB": {
"created": "20160820190056478",
"creator": "Thomas Elmiger",
"text": "ID:English\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DDth MMM YYYY at hh12:0mmpm\ndate-deadline-tmpl: YYYY-0MM-0DD\n<!-- strings: strigs start here -->\nAdd-tag: Add tag\nAdd-tags-from-the-list: Add tags from the list\nall: all\nall-projects: all projects\narchive: archive\nAre-you-sure?: Are you sure?\nChange-deadline: Change deadline\nchange-priority: Change priority\nchange-priority-to: set priority to\nClick-to-edit-title: Click the title to edit!\nclose: Close\nClose: Close\ndays-back: days back\nDetails: Show details\nDo-it-again: Do it again\nDo-now: Do now\nDone: Done\nEdit: Edit\nHide-list: Hide list\nlate: late\nManage-tags: Manage tags\nMove-down: Move down\nMove-up: Move up\nNew-ToDo-Item: New ToDo Item\nNext week: Next week\nno.: no.\nNothing-to-do-?: Nothing to do? Create a task using this button\nPick-a-task-: Pick a task from the list below using this button\nPrint-window-hint: Open in new window to print\nProject: Project\nRecycle: Recycle\nRelax-Nothing-to-do: Relax. Nothing to do.\nRemove-deadline: Remove deadline\nRemove-tags?: Remove tags?\nReset: Reset\nsearch: search …\nSend-it-down: Send it down\nSet-deadline: Set deadline\nShow-list: Show list\nSort-by-deadline: Sort by deadline\nSort-by-modification: Sort by last modification\nSort-by-priority: Sort all by priority\nSort-by-title: Sort all by title\nsorted-by-deadline: sorted by deadline\nsorted-by-modification: sorted by last modification\nsorted-by-priority: sorted by priority\nsorted-by-title: sorted by title\nSwitch-to-edit-mode: Switch to edit mode\nSwitch-to-safe-mode: Switch to save mode\nTake-it-up: Take it up!\nThis-is-done: This is done\nThis-week: This week\ntoday: today\nToday: Today\nToDo: ToDo\nToDo-template-title: ToDo Item\nToDo-template-text: Motivation: Description * Tests/Acceptance criteria\nTomorrow: Tomorrow\nUuups: Uuups!\n<!-- comments: comments -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121501",
"title": "$:/plugins/telmiger/lib/languages/en-GB",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170713195435035"
},
"$:/plugins/telmiger/lib/telang": {
"text": "\\define telang(term)\n<$transclude tiddler={{$:/plugins/telmiger/lib/language}} index=\"$term$\"><$transclude tiddler=\"$:/plugins/telmiger/lib/languages/en-GB\" index=\"$term$\"/></$transclude>\n\\end\n",
"created": "20160917153627850",
"creator": "Thomas Elmiger",
"modified": "20160917160018287",
"modifier": "Thomas Elmiger",
"priority": "2",
"tags": "ToDoDone ToDoComponents $:/tags/Macro",
"title": "$:/plugins/telmiger/lib/telang",
"todo-deadline": "",
"todo-done": "20160820234641 20160821004547"
},
"$:/plugins/telmiger/lib/telements/buttons": {
"created": "20160816192735231",
"creator": "Thomas Elmiger",
"text": "\\define teBtnDelete1(tiddler:\"<<currentTiddler>>\",btntext:\"{{$:/core/images/delete-button}}\",tooltip:\"delete\",tip:\"really?\",class:\"\")\n<$vars tid=$tiddler$ btnclass=\"te-btn-action $class$\">\n<$button popup=\"$:/DeletePopupState\" class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\">$btntext$</$button>\n<$reveal type=\"popup\" position=\"left\" state=\"$:/DeletePopupState\" class=\"te-popup-dark\">\n<$button class=\"te-delete $class$\" tooltip=\"$tip$\">\n<$action-deletetiddler $tiddler=<<tid>>/>\n<$action-deletetiddler $tiddler=\"$:/DeletePopupState\"/>\nConfirm deletion\n</$button> \n<$button class=\"te-secondary-btn $class$\">\n<$action-deletetiddler $tiddler=\"$:/DeletePopupState\"/>\nCancel\n</$button>\n</$reveal>\n</$vars>\n\\end\n\n\\define teBtnDelete(class:\"\")\n<$vars btnclass=\"te-btn-action te-btn-delete $class$\">\n<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<btnclass>>>\n{{$:/core/images/delete-button}}\n</$button>\n</$vars>\n\\end\n\n\\define teBtnHint(btntext,message,tooltip,tip,class:\"\")\n<$set name=\"btnclass\" value=\"te-hint $class$\">\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\" message=\"$message$\">\n$btntext$\n<span class=\"te-tip\">$tip$</span>\n</$button>\n</$set>\n\\end\n\n\\define teBtnTagListops(btntext,add-remove,tooltip,tip:\"_false_\",class:\"\")\n<$vars tip=\"\"\"$tip$\"\"\" btnclass=\"te-btn-action te-tag-listops $class$\">\n<$set name=\"mytip\" filter=\"[<tip>removeprefix[_false_]]\" emptyValue=\"\"\"<span class=\"te-tip\">$tip$</span>\"\"\">\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\">\n<$wikify name=\"timestampState\" text=\"{{$:/config/TimestampDisable}}\">\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$action-listops $tags=\"$add-remove$\" />\n$btntext$\n<<mytip>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=<<timestampState>>/>\n</$wikify>\n</$button>\n</$set>\n</$vars>\n\\end\n\n\\define teBtnEdit(sendmessage:\"tm-edit-tiddler\",class:\"\")\n<$wikify name=\"tt\" text=<<telang Edit>>>\n <$button tooltip=<<tt>> class=\"te-btn-action te-edit $class$\">\n<$action-sendmessage $message=\"$sendmessage$\" $param=<<currentTiddler>> />\n{{$:/core/images/edit-button}}\n</$button>\n</$wikify>\n\\end\n\n\\define teBtnEditShowModified(sendmessage:\"tm-edit-tiddler\",class:\"\")\n<$wikify name=\"tt\" text=<<telang Edit>>>\n <$button tooltip=<<tt>> class=\"te-btn-action te-edit $class$\">\n<$action-sendmessage $message=\"$sendmessage$\" $param=<<currentTiddler>> />\n{{$:/core/images/edit-button}}<span class=\"te-tip\"><$view tiddler=<<currentTiddler>> field=\"modified\" format=\"date\" template=\"YYYY-0MM-0DD 0hh:0mm\"/></span>\n</$button>\n</$wikify>\n\\end\n\n\\define teBtnPrio(btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip,class:\"\")\n<$set name=\"nextprio\" filter=\"\"\"[list[$prioritylist$]nth[$priority$]]\"\"\">\n<$wikify name=\"next\" text=\"$tooltip$ <<nextprio>>\">\n<$button tooltip=<<next>> class=\"te-btn-action te-prio prio$priority$ $class$\">\n<$action-listops $field=\"priority\" $filter=<<nextprio>>/>\n$btntext$<span class=\"te-prionr\">$priority$</span>\n</$button>\n</$wikify>\n</$set>\n\\end\n\n\\define teBtnPrioPopup(tiddler,btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip:\"change priority\",class:\"\")\n<$set name=\"qualstate\" value=<<qualify \"$:/state/reveal_priopop_$tiddler$_\">> >\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"show\" class=\"te-btn-reveal\">\n<$button tooltip=\"\"\"$tooltip$\"\"\" set=<<qualstate>> setTo=\"show\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n$btntext$<span class=\"te-prionr\">$priority$</span>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"show\" class=\"te-btn-reveal\">\n<$button tooltip=\"close popup\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n<$action-deletetiddler $tiddler=<<qualstate>>/>\n$btntext$<span class=\"te-prionr\">$priority$</span>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"show\">\n<$wikify name=\"tt\" text=\"set prio\">\n <$macrocall $name=\"tePrioList\" tiddler=\"\"\"$tiddler$\"\"\" icon=\"{{$:/core/images/star-filled}}\" priorityfield=\"priority\" prioritylist=\"\"\"$prioritylist$\"\"\" tooltip=<<tt>> class=\"\" state=<<qualstate>>/>\n</$wikify>\n</$reveal>\n</$set>\n\\end\n\n\\define tePrioList(tiddler,prioritylist:\"_false_\",priorityfield:\"_false_\",icon:\"{{$:/core/images/star-filled}}\",state)\n<$vars priotid=\"\"\"$prioritylist$\"\"\" tid=\"\"\"$tiddler$\"\"\">\n<$set name=\"prioOld\" filter=\"[<currentTiddler>get[$priorityfield$]]\">\n<div class=\"te-prio-popup\">\n<ul class=\"te-prio-list\">\n<$list filter=\"[list<priotid>sort[]] -[<prioOld>]\" variable=\"prio\" emptyValue=\"error: no priorities in list field of $tiddler$\">\n<li>\n <$macrocall $name=\"teBtnPrioSet\" tiddler=<<tid>> priority=<<prio>> priorityfield=\"\"\"$priorityfield$\"\"\" tooltip=\"set as prio\" icon=\"\"\"$icon$\"\"\" class=\"\" state=\"\"\"$state$\"\"\"/>\n</li>\n</$list>\n</ul>\n</div>\n</$set>\n</$vars>\n\\end\n\n\\define teBtnPrioSet(tiddler,priority,priorityfield,tooltip,icon,class:\"\",state)\n<$vars prio=\"\"\"$priority$\"\"\" qualstate=\"\"\"$state$\"\"\">\n<$button tooltip=\"\"\"$tooltip$\"\"\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n<$wikify name=\"timestampState\" text=\"{{$:/config/TimestampDisable}}\">\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$action-listops $tiddler=\"\"\"$tiddler$\"\"\" $field=$priorityfield$ $filter=<<prio>>/>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=<<timestampState>>/>\n<$action-deletetiddler $tiddler=<<qualstate>>/>\n$icon$<span class=\"te-prionr\"><<prio>></span>\n</$wikify>\n</$button>\n</$vars>\n\\end\n\n\\define teBtnIcons(label,icon,hovericon)\n<span class=\"te-btn-label\">\"\"\"$label$\"\"\"</span>\n<span class=\"te-btn-icon\"><$transclude tiddler=\"\"\"$icon$\"\"\"/></span>\n<span class=\"te-btn-hovericon\"><$transclude tiddler=\"\"\"$hovericon$\"\"\"/></span>\n\\end\n\n<!-- !! Macros to produce nice buttons\n\nOptimize: Rewire field \"priority\" to a variable $saveto$?\n\n* teBtnDelete\n** delete a given tiddler – show a confirmation request first\n** teBtnDelete1 is my first try to implement this without using existing core as a blueprint.\n* teBtnHint(btntext,message,tooltip,tip,class:\"\")\n** add a message\n* teBtnTagListops(btntext,add-remove,tooltip,tip,class:\"\")\n** add-remove: add and remove tags in one statement \"addthis -removethat\"\n** does not update the modification date as of TW 5.1.14\n* teBtnEdit(sendmessage:\"tm-edit-tiddler\",class:\"\") \n** tiddler is currentTiddler\n* teBtnEditShowModified(sendmessage:\"tm-edit-tiddler\",class:\"\") – used in $:/plugins/telmiger/listreveal/readme \n** shows modified timestamp on hover\n** tiddler is currentTiddler\n* teBtnPrio(btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip,class:\"\")\n** let the user cycle through a list of choices (priorities) from the //list// field of a tiddler \n* teBtnPrioPopup(tiddler,btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip:\"change priority\",class:\"\")\n** let the user select a priority from a list of choices saved in the //list// field of a tiddler \n* tePrioList – a helper macro for teBtnPrioPopup\n* teBtnPrioSet – a helper macro for teBtnPrioPopup\n* teBtnIcons(label,icon,hovericon) – create a set of spans for buttons with icons\n\n-->\n",
"title": "$:/plugins/telmiger/lib/telements/buttons",
"tags": "ToDoComponents $:/tags/Macro MyMacros Listreveal",
"prio": "",
"modifier": "Thomas Elmiger",
"modified": "20170713202614284",
"list": "3 1 2"
},
"01 Listreveal List Setup": {
"created": "20170222232934553",
"creator": "Thomas Elmiger",
"text": "Explanations for the code of $:/plugins/telmiger/listreveal/readme – you can clone the linked tiddler and adapt it step by step to create your own listreveal project. The filter statement is a good point to start:\n\n```\n<$set name=\"listfilter\" \n value=\"\"\"[tag[Listreveal]!is[system]sort[title]]\"\"\">\n<ul class=\"te-list\">\n<$list filter=<<listfilter>>>\n```\nAlways use a variable called //listfilter// to create your list. The list-based tag manager (see [[03 Context Tagging]]) is depending on this convention.\n\nIt is recommended to use the CSS classes you see in this example – add your own to change the looks.\n\n```\n<$set name=\"tidTitle\" value={{!!title}}>\n <li class=\"todo-item te-flex-item\">\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-left\">\n <$link to={{!!title}}><$view field=\"title\"/></$link>\n </span>\n </span>\n```\nThe styling relies on [[CSS3 flexbox|https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties]]. These spans help to make your list as mobile friendly as possible.\n\n```\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-right\">\n <<teBtnEditShowModified>>\n```\nThis macro produces an edit button. It shows the tiddler’s modified date when the mouse hovers over it.\n\n```\n<$wikify name=\"cl\" text=<<telang close>> >\n<$wikify name=\"tt\" text=<<telang Details>> >\n <$macrocall $name=\"listrevealButton\" title=<<tidTitle>> tooltip=<<tt>> close=<<cl>>/>\n</$wikify>\n</$wikify>\n```\nThis macrocall produces the button on the right side that opens and closes the tiddlers.\n\nThe variables //cl// and //tt// get predefined translations from the language tiddlers that are part of this plugin. You can replace the tooltip for opening (attribute //tooltip//) and closing (attribute //close//) with your own texts.\n\n```\n </span>\n </span>\n<$wikify name=\"tpl\" text=<<telang date-created-tmpl>> >\n <$macrocall $name=\"listrevealContent\" title=<<tidTitle>> datetime=<<tpl>>/>\n</$wikify>\n```\nThis macrocall produces the text content and some details of your tiddler.\n\nAgain the variable //tpl// gets a predefined translation from the integrated language tiddlers. It is used as a [[date format template|http://tiddlywiki.com/#DateFormat]] when the created and modified timestamps of the tiddler are displayed. This attribute is optional.\n\n//tidTitle// is the variable for the title of your list elements (your tiddlers). It is set at the beginning (see second snippet).\n\n```\n </li>\n</$set>\n</$list>\n</ul>\n</$set>\n```\nThe whole list is presented as an unordered HTML list `<ul>` with tiddlers as list items `<li>`.",
"title": "01 Listreveal List Setup",
"tags": "Listreveal",
"modified": "20170224201650800",
"modifier": "Thomas Elmiger"
},
"02 Edit Button": {
"created": "20170222233632994",
"creator": "Thomas Elmiger",
"text": "Optionally you can add a lock/unlock button to switch your list into edit mode (all listreveal lists in your wiki to be precise). This presents the tiddler content in an editor field where you can change it using wikitext formatting. \n\n```\nUse this button to enable editing: <<listrevealBtnEdit>>\n```\nAdd your own parameter `class:\"your-class\"` for styling and positioning via CSS. The icon has a so called dirty indicator implemented: it turns red if you have unsaved changes.",
"title": "02 Edit Button",
"tags": "Listreveal",
"modified": "20170224192922331",
"modifier": "Thomas Elmiger"
},
"03 Context Tagging": {
"created": "20170224195102124",
"creator": "Thomas Elmiger",
"text": "When you look inside a tiddler in the list using the ellipsis (…) button on the right, you see the tiddler’s tags, text and timestamps. \n\n{{$:/core/images/tag-button}}\n\nThe tags can be changed using the tag label icon. A unique feature called context tagging or list-based tagging appears in a popup. From there you are able to add suggested tags based on the other tiddlers in your list or remove single tags from the tiddler. ",
"title": "03 Context Tagging",
"tags": "Listreveal",
"modified": "20170224195644691",
"modifier": "Thomas Elmiger"
},
"04 Checklists": {
"created": "20170224200058192",
"creator": "Thomas Elmiger",
"text": "This plugin comes with CSS to support checklists generated via a plugin by Tony Grosinger – indentation and the display of user interface elements to add and delete items should be optimized for use inside of listreveal lists.\n\n[ ] Install the plugin from https://grosinger.net/tw5-checklist/\n[ ] Make your first checklist\n[x] Read these hints on checklists",
"todo-done": "20160917214708",
"todo-deadline": "20160912220000000",
"title": "04 Checklists",
"tags": "Listreveal Usability Plugins",
"priority": "2",
"modifier": "Thomas Elmiger",
"modified": "20170224201034767"
},
"05 Translations": {
"text": "The following language tiddlers are shipped with this plugin: \n\n<ul>\n<$list filter=\"\"\"[all[tiddlers+shadows]prefix[$:/plugins/telmiger/lib/languages/]sort[]]\"\"\">\n<li>\n{{##ID}}: <$link to={{!!title}}><$view field=\"title\"/></$link>\n</li>\n</$list>\n</ul>\n\nSet your language in $:/plugins/telmiger/lib/language (I hope I will find a way to use the language from the TW settings in the future).\n\nTo implement a new language you could clone and adapt one of them. They are used for other plugins too, this is why they contain way more text than needed for listreveal.\n",
"title": "05 Translations",
"tags": "Listreveal Translation",
"modifier": "Thomas Elmiger",
"modified": "20170714214826478",
"creator": "Thomas Elmiger",
"created": "20170224202239839"
},
"$:/plugins/telmiger/lib/languages/de-DE": {
"created": "20160823202222125",
"creator": "Thomas Elmiger",
"text": "ID:Deutsch (Deutschland)\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DD. MMM YYYY, 0hh:0mm Uhr\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- strings: strings start here -->\nAdd-tag: Tag hinzufügen\nAdd-tags-from-the-list: Tags aus der Liste hinzufügen\nall: alle\nall-projects: alle Projekte\narchive: archivieren\nAre-you-sure?: Bist du sicher?\nChange-deadline: Fälligkeit ändern\nchange-priority: Priorität ändern\nchange-priority-to: Priorität ändern auf\nClick-to-edit-title: Auf Titel klicken zum Bearbeiten!\nclose: Schließen\nClose: Schließe\ndays-back: Tage\nDetails: Details\nDo-it-again: Mach’s nochmal\nDo-now: Jetzt erledigen\nDone: Erledigt\nEdit: bearbeiten\nHide-list: Liste ausblenden\nlate: später\nManage-tags: Tag-Manager\nMove-down: Nach unten\nMove-up: Nach oben\nNew-ToDo-Item: Neue Aufgabe\nno.: Anz.\nNothing-to-do-?: Nichts zu tun? Erstelle eine Aufgabe mit diesem Knopf\nPick-a-task-: Wähle eine Aufgabe aus der Liste unten mit diesem Knopf\nPrint-window-hint: In neuem Fenster öffnen zum Drucken\nProject: Projekt:\nRecycle: Nochmals verwenden\nRelax-Nothing-to-do: Schön. Es gibt nichts zu tun.\nRemove-deadline: Fälligkeit löschen\nRemove-tags?: Tags entfernen?\nReset: Zurücksetzen\nsearch: Suche\nSend-it-down: doch nicht jetzt\nSet-deadline: Termin festlegen\nShow-list: Liste anzeigen\nSort-by-deadline: Nach Termin sortieren\nSort-by-modification: Nach letzter Änderung sortieren\nSort-by-priority: Alle nach Priorität sortieren\nSort-by-title: Alle nach Titel sortieren\nsorted-by-deadline: sortiert nach Enddatum\nsorted-by-modification: sortiert nach letzter Änderung\nsorted-by-priority: sortiert nach Priorität\nsorted-by-title: sortiert nach Titel\nSwitch-to-edit-mode: Bearbeiten ermöglichen\nSwitch-to-safe-mode: Bearbeiten ausschalten\nTake-it-up: Rauf damit!\nThis-is-done: Das ist erledigt\nThis-week: Diese Woche\ntoday: heute\nToday: Heute\nToDo: ToDo\nToDo-template-title: Neue Aufgabe\nToDo-template-text: Motivation: Beschreibung * Tests/Abnahmekriterien\nTomorrow: Morgen\nUuups: Hoppla!\n<!-- comments: Kommentare -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121525",
"title": "$:/plugins/telmiger/lib/languages/de-DE",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170713195705076"
},
"$:/plugins/telmiger/lib/languages/de-CH": {
"created": "20160821100821036",
"creator": "Thomas Elmiger",
"text": "ID:Deutsch (Schweiz)\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DD. MMM YYYY, 0hh:0mm Uhr\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- strings: strings start here -->\nAdd-tag: Tag hinzufügen\nAdd-tags-from-the-list: Tags aus der Liste hinzufügen\nall-projects: alle Projekte\narchive: archivieren\nAre-you-sure?: Bist du sicher?\nChange-deadline: Fälligkeit ändern\nchange-priority: Priorität ändern\nchange-priority-to: Priorität ändern auf\nClick-to-edit-title: Auf Titel klicken zum Bearbeiten!\nclose: Schliessen\nClose: Schliesse\ndays-back: Tage zurück\nDetails: Details\nDo-it-again: Mach’s nochmal\nDo-now: Jetzt erledigen\nDone: Erledigt\nEdit: bearbeiten\nHide-list: Liste ausblenden\nlate: später\nManage-tags: Tag-Manager\nMove-down: Nach unten\nMove-up: Nach oben\nNew-ToDo-Item: Neue Aufgabe\nno.: Anz.\nNothing-to-do-?: Nichts zu tun? Erstelle eine Aufgabe mit diesem Knopf\nPick-a-task-: Wähle eine Aufgabe aus der Liste unten mit diesem Knopf\nPrint-window-hint: In neuem Fenster öffnen für Druck\nProject: Projekt:\nRecycle: Nochmals verwenden\nRelax-Nothing-to-do: Schön. Es gibt nichts zu tun.\nRemove-deadline: Fälligkeit löschen\nRemove-tags?: Tags entfernen?\nReset: Zurücksetzen\nsearch: Suche …\nSend-it-down: doch nicht jetzt\nSet-deadline: Termin festlegen\nShow-list: Liste anzeigen\nSort-by-deadline: Nach Termin sortieren\nSort-by-modification: Nach letzter Änderung sortieren\nSort-by-priority: Alle nach Priorität sortieren\nSort-by-title: Alle nach Titel sortieren\nsorted-by-deadline: sortiert nach Enddatum\nsorted-by-modification: sortiert nach letzter Änderung\nsorted-by-priority: sortiert nach Priorität\nsorted-by-title: sortiert nach Titel\nSwitch-to-edit-mode: Bearbeiten ermöglichen\nSwitch-to-safe-mode: Bearbeiten ausschalten\nTake-it-up: Rauf damit!\nThis-is-done: Das ist erledigt\ntoday: heute\nToday: Heute\nToDo: ToDo\nToDo-template-title: ToDo Item\nToDo-template-text: Motivation: Description * Tests/Acceptance criteria\nThis-week: Diese Woche\nTomorrow: Morgen\nUuups: Hoppla!\n<!-- comments: Kommentare -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121525",
"title": "$:/plugins/telmiger/lib/languages/de-CH",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170713195742337"
},
"$:/plugins/telmiger/listreveal/icon": {
"created": "20170224201850969",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64.003\" height=\"64.003\" viewBox=\"-500.5 395.5 64.003 64.003\"><path d=\"M-468.5 396.5l26.426 15.5v31l-26.425 15.5-26.426-15.5v-31l26.427-15.5z\"/><path fill=\"#FFF\" d=\"M-485.996 419.088h34.99v16.824h-34.99z\"/><path fill=\"#E2001A\" d=\"M-468.5 405.5c-12.15 0-22 9.85-22 22s9.85 22 22 22 22-9.85 22-22-9.85-22-22-22zm13.11 21.637c-1.022.682-2.674 1.023-4.954 1.023h-2.838c-1.505 0-2.598.3-3.28.9-.68.6-1.22 1.804-1.622 3.615 0 0-.063.526-.178.526s-.13-.31-.184-.562c-.056-.263-.14-.59-.256-.977-.224-.758-.447-1.332-.67-1.72-.27-.482-.613-.87-1.024-1.165-.412-.294-.883-.47-1.413-.528l-.74-.088h-3.637c-2.178 0-3.796-.343-4.855-1.024-1.764-1.12-2.71-3.24-2.842-6.357-.01-.25 0-.48.047-.772h.208c.142 1.41 1.304 2.502 2.158 3.274.853.77 2.222 1.155 4.104 1.155h3.3c1.896 0 3.28.436 4.158 1.306.79.786 1.31 2.017 1.56 3.69.028.183.012.263.064.263.053 0 .04-.09.06-.278.253-2.173 1.094-3.627 2.522-4.363.88-.46 2.28-.676 4.196-.652l2.257.035c1.527.023 2.814-.278 3.86-.908 1.046-.63 2.285-1.803 2.425-3.52h.21c.065.17.057.56.045.828-.13 3.105-1.023 5.206-2.68 6.3z\"/></svg>",
"type": "image/svg+xml",
"title": "$:/plugins/telmiger/listreveal/icon",
"tags": "",
"modified": "20170224201914042"
},
"$:/plugins/telmiger/listreveal/readme": {
"created": "20170222172249206",
"creator": "Thomas Elmiger",
"text": "!! Good to Know\n\nA list of things you should know about this plugin. Click the ellipsis button on the right […] to see more.\n\nUse this button to enable editing: <<listrevealBtnEdit>>\n\n---\n\n<$set name=\"listfilter\" value=\"\"\"[all[shadows]prefix[0]sort[title]]\"\"\">\n<ul class=\"te-list\">\n<$list filter=<<listfilter>>>\n<$set name=\"tidTitle\" value={{!!title}}>\n <li class=\"todo-item te-flex-item\">\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-left\">\n <$link to={{!!title}}><$view field=\"title\"/></$link>\n </span>\n </span>\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-right\">\n <<teBtnEditShowModified>>\n<$wikify name=\"cl\" text=<<telang close>> >\n<$wikify name=\"tt\" text=<<telang Details>> >\n <$macrocall $name=\"listrevealButton\" title=<<tidTitle>> tooltip=<<tt>> close=<<cl>>/>\n</$wikify>\n</$wikify>\n </span>\n </span>\n<$wikify name=\"tpl\" text=<<telang date-created-tmpl>> >\n <$macrocall $name=\"listrevealContent\" title=<<tidTitle>> datetime=<<tpl>>/>\n</$wikify>\n </li>\n</$set>\n</$list>\n</ul>\n</$set>",
"title": "$:/plugins/telmiger/listreveal/readme",
"tags": "Listreveal",
"modified": "20170224210736677",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/listreveal/tags": {
"text": "\\define lrTaglist(tiddler:\"_false_\")\n<div class=\"lr-tag-popup\">\n<<telang Add-tags-from-the-list>> \n<$wikify name=\"tt\" text=<<telang Add-tag>>>\n<ul class=\"lr-tags-add\">\n<$list filter=\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagsinlist]sort[]] -[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]]\" variable=\"tag\">\n<li>\n <$macrocall $name=\"teBtnTagAddRemove\" btntext=<<tag>> add=<<tag>> tiddler=\"\"\"$tiddler$\"\"\" tooltip=<<tt>>/> \n</li>\n</$list>\n</ul>\n</$wikify>\n<<telang Remove-tags?>> \n<$wikify name=\"tt\" text=<<telang Are-you-sure?>>>\n<ul class=\"lr-tags-remove\">\n<$list filter=\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]sort[]]\" variable=\"tag\">\n<li>\n <$macrocall $name=\"teBtnTagAddRemove\" btntext=<<tag>> remove=<<tag>> tiddler=\"\"\"$tiddler$\"\"\" tooltip=<<tt>>/> \n</li>\n</$list>\n</ul>\n</$wikify>\n</div>\n\\end\n\n\\define teBtnTagAddRemove(btntext,add:\"_false_\",remove:\"_false_\",tooltip,class:\"\",tiddler:\"_false_\")\n<$vars tip=\"\"\"$tip$\"\"\" tiddler=\"\"\"$tiddler$\"\"\" btnclass=\"te-popup-action $class$\" add=\"\"\"$add$\"\"\" remove=\"\"\"$remove$\"\"\">\n<$set name=\"actiontid\" filter=\"[<tiddler>!prefix[_false_]]\" value=<<tiddler>> emptyValue=<<currentTiddler>>>\n<$set name=\"subfilter\" filter=\"[<add>!prefix[_false_]]\" value=\"[[$add$]]\" emptyValue=\"-[[$remove$]]\">\n<$wikify name=\"at\" text=<<actiontid>>>\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\">\n<$wikify name=\"timestampState\" text=\"{{$:/config/TimestampDisable}}\">\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$action-listops $tiddler=<<at>> $field=\"tags\" $subfilter=<<subfilter>>/>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=<<timestampState>>/>\n<$action-setfield $tiddler=\"\"\"$(popstate)$\"\"\" $field=\"text\" $value=\"\"/>\n <$text text=\"\"\"$btntext$\"\"\">\n</$wikify>\n</$button>\n</$wikify>\n</$set>\n</$set>\n</$vars>\n\\end\n\n\\define lrBtnAddTags(tiddler,class:\"\")\n<$vars tiddler=\"\"\"$tiddler$\"\"\" temptags=\"$:/temp/lr-tags-$tiddler$\">\n<$wikify name=\"tt\" text=<<telang Manage-tags>>>\n<$wikify name=\"tagfilter\" text=\"<<listfilter>> +[tags[]sort[]]\">\n<$button popup=<<qualify \"$:/state/popup/lr-tags-$tiddler$\">> class=\"\"\"te-btn-action addtag $class$\"\"\" tooltip=<<tt>> >\n<$action-listops $tiddler=<<temptags>> $field=\"lr-tagsinlist\" $filter=<<tagfilter>>/>\n<$action-listops $tiddler=<<temptags>> $field=\"lr-tagstoremove\" $filter=\"[<tiddler>tags[]]\"/>\n<$action-setfield $tiddler=<<temptags>> text=<<lrTaglist \"\"\"$tiddler$\"\"\">>/>\n{{$:/core/images/tag-button}}\n</$button>\n</$wikify>\n</$wikify>\n\\end\n\n\\define lrTagsPopup(tiddler)\n<$set name=\"popstate\" value=<<qualify \"$:/state/popup/lr-tags-$tiddler$\">>>\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<popstate>> type=\"nomatch\" text=\"\" default=\"\">\n{{$:/temp/lr-tags-$tiddler$}}\n</$reveal>\n</$set>\n\\end\n\n\\define lrBtnTags(class:\"\")\n<span class=\"lr-flex-wrapper\">\n<$wikify name=\"tiddler\" text=<<currentTiddler>>>\n <$macrocall $name=\"lrBtnAddTags\" tiddler=<<tiddler>> class=\"\"\"$class$\"\"\"/>\n <$macrocall $name=\"lrTagsPopup\" tiddler=<<tiddler>>/>\n</$wikify>\n</span>\n\\end\n\n\\define listreveal-tags()\n<span class=\"listreveal-tags te-flex-item\">\n<<lrBtnTags muted>>\n<span class=\"te-tags\">\n<$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/>\n</span>\n</span>\n\\end\n\n<!-- !! Listreveal Tags\n\n* lrTaglist\n** show a popup where tags can be added or removed\n* teBtnTagAddRemove\n** show a button to add/remove a tag from a tiddler \n** does not update the modification date as of TW 5.1.14\n* lrBtnTags\n** lrBtnAddTags: show the button (and save the tags that could be added/removed)\n** lrTagsPopup: reveal or hide the popup\n* listreveal-tags\n** put this in your revealed section to show the button and the existing tags\n\n-->",
"title": "$:/plugins/telmiger/listreveal/tags",
"tags": "$:/tags/Macro MyMacros ToDoComponents Listreveal ToDoArchive",
"modifier": "Thomas Elmiger",
"modified": "20170503060202645",
"datetime": "",
"creator": "Thomas Elmiger",
"created": "20160915193628399"
},
"$:/plugins/telmiger/lib/telements.css": {
"created": "20160816210925818",
"creator": "Thomas Elmiger",
"text": "/* library of reusable (t)elements */\n\n/* header */\n\nheader {\n background-color: <<colour notification-background>>;\n padding: 10px;\n margin: 0 0 0 -10px;\n}\n\n/* te-summary as seen in extract macro */\n\n.te-summary {\n width: 100%;\n background-color: <<colour code-background>>;\n}\n\n/* flexbox layout */\n\n.te-flex-item {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: flex-start;\n height: auto;\n}\n\n.te-flex-half-full {\n flex-grow: 1;\n min-width: 49%;\n}\n\n.te-flex-left {\n justify-content: flex-start;\n}\n\n.te-flex-right {\n justify-content: flex-end;\n}\n\n.te-flex-content {\n width: 100%;\n}\n\n/* lists */\n\n.te-list {\n list-style: outside none none;\n margin: 0 0 1em 0;\n padding: 0;\n line-height: 2;\n}\n\n.te-list .te-flex-item {\n border-top: 1px solid rgba(1,1,1,0);\n border-bottom: 1px solid rgba(1,1,1,0);\n margin-bottom: -1px;\n}\n\n.te-list .te-flex-item a.tc-tiddlylink-resolves {\n flex-grow: 3;\n}\n\n\n/* buttons */\n/* big buttons */\n\n.te-btn-big {\n display: inline-block;\n position: absolute;\n right: 42px;\n height: 29px;\n min-width: 2.2em;\n background: none;\n background-color: <<colour sidebar-tab-background-selected>>;\n border: 1px solid lightgray;\n font-size: 0.85em;\n line-height: 0.5;\n margin-left: 10px;\n padding: 3px 6px 1px;\n}\n.te-btn-big:hover {\n background-color: <<colour sidebar-tab-background>>;\n}\n.te-btn-big.te-inline {\n position: relative;\n left: 0px;\n vertical-align: bottom;\n}\n/* in tabs e.g. plugin info */\n.tc-tab-set .te-btn-big {\n right: 62px;\n}\n\n/* standard save button */\n\nspan.te-btn-big button {\n margin: -2px 0 0 5px;\n padding: 0;\n background: none;\n border: none;\n}\nspan.te-btn-big button svg {\n height: 0.9em;\n}\n\n/* color overlay hack */\n\nbutton.te-btn-big.te-create::before {\n background-color: <<colour download-background>>;\n content: \"\";\n position: absolute;\n top: 0; \n left: 0;\n width: 100%; \n height: 100%; \n opacity: 0.33; \n}\nbutton:hover.te-btn-big.te-create::before {\n opacity: 0.66; \n}\n\n.te-btn-big.unlocked {\n background-color: <<colour sidebar-tab-background>>;\n}\n.te-btn-big.unlocked:hover {\n background-color: <<colour sidebar-tab-background-selected>>;\n}\n.te-btn-big.te-create {\n background-color: unset;\n}\n.te-btn-big .tc-image-locked-padlock, \n.te-btn-big .tc-image-unlocked-padlock {\n margin-bottom: 3px;\n}\n.te-btn-big .tc-image-new-button {\n margin-bottom: 2px;\n margin-top: 1px;\n}\n.te-btn-big .tc-image-unfold, \n.te-btn-big .tc-image-fold {\n margin-top: 3px;\n}\n\n\n/* action buttons */\n\n.te-btn-action {\n background: none;\n border: none;\n margin: 0.3em 0.3em 0 0.6em;\n padding: 0;\n}\n.te-btn-action svg {\n fill: #333;\n}\n.te-list .te-btn-action.muted svg {\n opacity:0.3;\n}\n.te-list .te-btn-action:hover svg {\n opacity:0.6;\n}\n\n.te-btn-action.addtag svg {\n height: 1.5em;\n width: 1.5em;\n}\n\n.te-btn-action.te-edit svg {\n height: 1.25em;\n width: 1.25em;\n margin-bottom: -2px;\n}\n\n.te-btn-action.te-prio {\n background-color: #777;\n width: 18px;\n height: 18px;\n margin-top: 3px;\n border: 3px solid white;\n box-sizing: content-box;\n border-radius: 5px;\n}\n.te-btn-action.te-prio.prio2 {\n background-color: #999;\n}\n.te-btn-action.te-prio.prio3 {\n background-color: #bbb;\n}\n.te-btn-action.te-prio.prio4 {\n background-color: #ddd;\n}\n\n/* action button in te-tip */\n\n.te-tip .te-btn-action {\n margin-left: 0.4em;\n padding-bottom: 25px;\n}\n\n\n/* delete button and delete popup */\n\n.te-btn-delete svg.tc-image-delete-button {\n width: 1.1em;\n height: 1.45em;\n}\n\n/* unused !!! */\n.te-delete {\n background-color: #faa;\n}\n.te-popup-dark {\n padding: 0.5em;\n background-color: #999;\n text-align: center;\n}\n\n\n/* popup action buttons */\n\n.te-popup-action {\n background: none;\n border: none;\n padding: 0;\n}\n\n/* date picker button */\n\n.te-btn-action.todo-deadline {\n display: inline-block;\n margin-top: 2px;\n text-align: center;\n width: 24px;\n}\n\n.te-btn-action.todo-deadline:hover {\n cursor: pointer;\n fill: #000;\n}\n.te-btn-action.todo-deadline span svg {\n height: 1.33em;\n width: 1.33em;\n margin-bottom: -3px;\n opacity: 0.6;\n display: inline-flex;\n position: absolute;\n margin-left: -0.5em;\n margin-top: 3px;\n}\n\n/* label and icons */\n.te-btn-label {\n font-size: 0;\n height: 1px;\n overflow: hidden;\n display: block;\n}\n.te-btn-icon {\n display: block;\n}\nbutton:hover .te-btn-icon {\n display: none;\n}\n.te-btn-hovericon {\n display: none;\n}\nbutton:hover .te-btn-hovericon {\n display: block;\n}\n\n/* urgent indicators */\n\n.te-btn-action .urgent {\n display: table-cell;\n position: relative;\n margin-left: 0;\n left: 0em;\n top: -10px;\n font-size: 0.75em;\n line-height: 1.25;\n padding: 0 0.1em 0 0.1em;\n max-width: 3.25em;\n}\n\n.urgent.late {\n background-color: red;\n color: white;\n}\n.urgent.today {\n background-color: yellow;\n color: red;\n}\n\n\n/* priority buttons */\n\n.te-btn-action.te-prio svg {\n position: relative;\n height: 1.65em;\n width: 1.5em;\n margin-top: -3px;\n opacity: 0;\n z-index: 101;\n}\n.te-btn-action.te-prio.prio1:hover svg {\n opacity: 0.6;\n}\n.te-btn-action.te-prio.prio2:hover svg {\n opacity: 0.5;\n}\n.te-btn-action.te-prio:hover svg {\n opacity: 0.4;\n}\n.te-btn-action .te-prionr {\n position: relative;\n top: -1.5em;\n width: 100%;\n color: #fefefe;\n font-size: 1em;\n font-weight: 600;\n text-align: center;\n}\n.te-btn-action.te-prio.prio1 .te-prionr, .te-btn-action.te-prio.prio2 .te-prionr,\n.te-btn-action.te-prio.prio3 .te-prionr {\n color: #eee;\n}\n\n.te-prio-list {\n list-style: none;\n line-height: 1em;\n padding: 1em 0 0 0;\n margin: -1.5em 0 0 0;\n background-color: <<colour sidebar-tab-background>>;\n width: 43px;\n position: absolute;\n z-index: 25;\n border: 1px solid <<colour sidebar-tab-border>>;\n border-radius: 4px;\n}\n.te-list .te-prio-list {\n margin: 1.75em 0 0 -2.5em;\n}\n\n.te-btn-reveal.tc-reveal {\n height: 1em;\n}\n\n.te-linkbutton {\n color: <<colour tiddler-link-foreground>>;\n background-color: transparent;\n border: 0;\n}\n\n\n/* big buttons positions */\n\n.te-first {\n margin-right: 2px;\n}\n.te-second {\n margin-right: 60px;\n}\n.te-third {\n margin-right: 120px;\n}\n\n\n/* text */\n\n.te-text {\n margin: 0 0.5em 0 0.5em;\n}\n.te-text.right {\n margin-left: 1em;\n margin-right: 0.5em;\n right: 6em;\n}\n\n\n/* popup tip */\n\n.te-tip {\n position: absolute;\n display: none;\n font-size: 15px;\n line-height: 1.4;\n white-space: nowrap;\n padding: 0 3px 0 3px;\n border: 1px solid <<colour notification-border>>;\n border-radius: 3px;\n background-color: <<colour notification-background>>;\n}\n\n.te-btn-big:hover .te-tip {\n margin-left: -8em;\n margin-top: -1.66em;\n z-index: 100;\n display: unset;\n}\n\n.te-btn-action:hover .te-tip,\n.te-created:hover .te-tip,\n.te-modified:hover .te-tip {\n margin-left: -0.4em;\n margin-top: -1.35em;\n z-index: 100;\n display: unset;\n}\n\n.te-text:hover .te-tip {\n margin-left: -0.8em;\n margin-top: -0.75em;\n display: inline-flex;\n z-index: 100;\n display: inline-grid;\n text-align: center;\n line-height: 1.1;\n}\n\n.te-tip:hover span .te-tip, \n.te-text:hover .te-tip button .te-tip, \n.te-tip:hover button .te-tip {\n display: none;\n}\n.te-tip:hover span:hover .te-tip, \n.te-tip:hover button:hover .te-tip {\n margin-top: -1.25em;\n z-index: 101;\n display: unset;\n}\n.te-tip span span svg {\n margin-top: 0.25em;\n}\n\n/* meta info */\n\n.te-created, .te-modified {\n position: relative;\n}\n\n/* images */\n\n.te-created svg, .te-modified svg {\n max-height: 1.25em;\n opacity: 0.6;\n margin-bottom: -0.2em;\n}\n\n/* very small screens */\n\n@media (max-width: 500px) {\n .te-btn-action {\n margin: 0.3em 0.8em 0 0.5em;\n }\n}",
"title": "$:/plugins/telmiger/lib/telements.css",
"tags": "$:/tags/Stylesheet Listreveal ToDoComponents ToDoArchive",
"modifier": "Thomas Elmiger",
"modified": "20170714223553671"
},
"$:/plugins/telmiger/lib/telements-print.css": {
"text": "/* print optimisation for (t)elements */\n\n@media print {\n\n.te-noprint, \n.te-btn-action, .te-btn-action.muted, \n.te-btn-big, .te-btn-big.te-first, .te-btn-big.te-second, .te-btn-big.te-third,\n.te-edit, .te-to-top { \n display: none;\n}\n\n/* header */\n\nheader {\n background-color: transparent;\n}\n\n/* show buttons? reset display */\n/* big buttons */\n\n/* action buttons */\n\n.te-btn-action.todo-deadline, .te-btn-action.te-prio {\n display: initial;\n}\n\n.te-btn-action.te-prio.prio1 span.te-prionr, \n.te-btn-action.te-prio.prio1 {\n color: #efefef;\n}\n\n.te-btn-action.te-prio span.te-prionr, .te-btn-action.te-prio.prio2 span.te-prionr, \n.te-btn-action.te-prio.prio3 span.te-prionr, .te-btn-action.te-prio.prio4 span.te-prionr {\n color: #ddd;\n}\n\n.te-btn-action.te-prio {\n background-color: #ddd;\n border: 3px solid black;\n}\n.te-btn-action.te-prio.prio2 {\n background-color: #bbb;\n}\n.te-btn-action.te-prio.prio3 {\n background-color: #999;\n}\n.te-btn-action.te-prio.prio4 {\n background-color: #777;\n}\n\n/* date picker button */\n\n.te-btn-action.deadline span svg {\n opacity: 0.66;\n}\n\n/* text */\n\n/* meta info */\n\n/* images */\n\n.te-created svg, .te-modified svg {\n opacity: 0.6;\n}\n\n\n/* **** END of print optimisation **** */\n}\n",
"title": "$:/plugins/telmiger/lib/telements-print.css",
"tags": "$:/tags/Stylesheet Listreveal ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170711223138932",
"creator": "Thomas Elmiger",
"created": "20170201215840974"
},
"$:/plugins/telmiger/listreveal/lr": {
"created": "20160811053433681",
"creator": "Thomas Elmiger",
"text": "\\define listrevealButton(title,tooltip:\"Details\",close:\"Close\",class:\"\")\n<$vars showclass=\"\"\"listreveal-btn-show te-noprint $class$\"\"\" hideclass=\"\"\"listreveal-btn-hide te-noprint $class$\"\"\">\n<$set name=\"qualstate\" value=<<qualify \"$:/state/listreveal_$title$_\">> >\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal\">\n <$button set=<<qualstate>> setTo=\"visible\" class=<<showclass>> tooltip=\"$tooltip$\">…</$button></$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal\">\n <$button class=<<hideclass>> tooltip=\"$close$\">×<$action-deletetiddler $tiddler=<<qualstate>> />\n </$button></$reveal>\n</$set>\n</$vars>\n\\end\n\n\\define listrevealContent(title,mode:\"block\",datetime:\"YYYY-MM-DD\",state:\"_false_\")\n<$vars state=\"\"\"$state$\"\"\">\n<$set name=\"qualstate\" filter=\"[<state>!prefix[_false_]]\" value=<<state>> emptyValue=<<qualify \"$:/state/listreveal_$title$_\">> >\n<$reveal type=\"match\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal-open\">\n<<listreveal-tags>>\n<span class=\"listreveal-content\">\n<$reveal type=\"nomatch\" state=\"$:/state/listreveal-mode\" text=\"edit\">\n <$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\"/>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/state/listreveal-mode\" text=\"edit\">\n <$edit tiddler=\"\"\"$title$\"\"\" class=\"listreveal-edit-text\"/>\n</$reveal>\n</span>\n <$macrocall $name=\"listreveal-meta\" tiddler=\"\"\"$title$\"\"\" datetime=\"\"\"$datetime$\"\"\"/>\n</$reveal>\n</$set>\n</$vars>\n\\end\n\n\\define listreveal-meta(tiddler,datetime)\n<span class=\"listreveal-meta te-flex-item\">\n <span class=\"te-created\">{{$:/core/images/file}}<span class=\"te-tip\"><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"creator\"/></span><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"created\" format=\"date\" template=\"\"\"$datetime$\"\"\"/></span>\n <span class=\"te-separator\"></span>\n<<listreveal-showmodified \"\"\"$tiddler$\"\"\" \"\"\"$datetime$\"\"\">>\n\\end\n\n\\define listreveal-showmodified(tiddler,datetime)\n<span class=\"te-modified\">{{$:/core/images/edit-button}}<span class=\"te-tip\"><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"modifier\"/></span><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"modified\" format=\"date\" template=\"\"\"$datetime$\"\"\"/></span>\n\\end\n\n\\define listrevealBtnEdit(class:\"\")\n<$reveal type=\"nomatch\" state=\"$:/state/listreveal-mode\" text=\"edit\">\n<$wikify name=\"tt\" text=<<telang Switch-to-edit-mode>>>\n<$button set=\"$:/state/listreveal-mode\" setTo=\"edit\" tooltip=<<tt>> class=\"te-btn-big locked $class$\">{{$:/core/images/locked-padlock}}</$button>\n</$wikify>\n</$reveal><$reveal type=\"match\" state=\"$:/state/listreveal-mode\" text=\"edit\">\n<$wikify name=\"tt\" text=<<telang Switch-to-safe-mode>>>\n<$button set=\"$:/state/listreveal-mode\" setTo=\"locked\" tooltip=<<tt>> class=\"te-btn-big unlocked $class$\"><$action-sendmessage $message=\"tm-auto-save-wiki\"/><span class=\"tc-dirty-indicator\">{{$:/core/images/unlocked-padlock}}</span></$button>\n</$wikify>\n</$reveal>\n\\end\n\n<!-- !! Listreveal Plugin Macros\n\n!!! Macros to reveal listed tiddlers\n* listrevealButton(title,tooltip:\"Details\",close:\"Close\",class:\"\")\n** produce a button to show/hide tiddler content\n*** parameters: tooltips for show/hide actions and a CSS-class\n* listrevealContent(title,mode:\"block\",datetime:\"YYYY-MM-DD\",state:\"_false_\")\n** show the content of a listed tiddler\n** use the state parameter if you don’t want tu use the standard button\n*** set the state to //visible// to show tiddler content \n\n!!! Optional macro\n* listrevealBtnEdit(class:\"\")\n** produce a button to \n*** put all listed tiddlers in edit mode (wikitext editor)\n*** lock the tiddlers and auto-save the wiki after editing\n\n!!! Helper macros for listrevealContent\n* listreveal-meta(tiddler,datetime)\n** show meta information of a tiddler: dates for created/modified and creator/modifier (on hover)\n*** datetime: a [[date format|http://tiddlywiki.com/#DateFormat]] string \n* listreveal-showmodified(tiddler,datetime)\n** show modified timestamp and modifier name (on hover)\n*** datetime: a [[date format|http://tiddlywiki.com/#DateFormat]] string \n\n-->",
"title": "$:/plugins/telmiger/listreveal/lr",
"tags": "$:/tags/Macro Listreveal",
"modifier": "Thomas Elmiger",
"modified": "20170227172955605",
"datetime": ""
},
"$:/plugins/telmiger/listreveal/lr.css": {
"text": "/* listreveal styles */\n/* === optimised for: ul class=\"te-list\" and li class=\"te-flex-item\" === */\n\n\n/* buttons */\n\n.listreveal-btn-show, .listreveal-btn-hide {\n margin: 0.2em 2px 0 0.5em;\n color: <<colour sidebar-tab-foreground-selected>>;\n width: 2.65em;\n height: 1.8em;\n border: none;\n}\n.listreveal-btn-show {\n background-color: <<colour sidebar-tab-background-selected>>;\n height: 1.6em;\n width: 2.35em;\n margin-left: 0.8em;\n}\n\n.listreveal-btn-hide, .listreveal-btn-show:hover {\n background-color: <<colour sidebar-tab-background>>;\n}\n\n/* tiddler content */\n\n.listreveal-open {\n height: auto; \n width: 100%;\n transition: none 0s ease 0s ;\n}\n\n.listreveal-content {\n display: block;\n color: <<colour foreground>>;\n background-color: <<colour sidebar-tab-background-selected>>;\n border-top: solid 1px <<colour sidebar-tab-border>>;\n border-bottom: solid 1px <<colour sidebar-tab-border>>;\n line-height: 1.5;\n padding: 0.5em 1em 1em 1em;\n -webkit-animation: expanditem 1s ease-in-out 0s running;\n animation-name: expanditem;\n animation-duration: 1s;\n animation-timing-function: ease-in-out;\n animation-delay: 0s;\n animation-iteration-count: 1;\n animation-direction: normal;\n}\n\n.listreveal-content pre {\n background-color: <<colour tiddler-info-background>>;\n}\n\n/* edit mode */\n\n.listreveal-edit-text {\n width: 100%;\n border: 1px solid gray;\n padding: 1em;\n}\n\n/* meta info */\n\n.listreveal-meta.te-flex-item, .listreveal-tags.te-flex-item {\n color: <<colour sidebar-tab-foreground>>;\n background-color: <<colour sidebar-tab-background>>;\n border-bottom: 1px solid <<colour sidebar-tab-border>>;\n border-top: 1px solid <<colour sidebar-tab-border>>;\n margin-top: -1px;\n margin-bottom: -1px;\n font-size: 0.85em;\n}\n\n.listreveal-meta {\n padding-right: 0.5em;\n}\n\n/* tags info */\n\n.listreveal-tags .te-tags button.tc-tag-label {\n background-color: <<colour sidebar-tab-background-selected>>;\n}\n\n.lr-tag-popup {\n margin-left: 1em;\n}\n.lr-tag-popup ul {\n margin: 0;\n padding: 0 1em 1em 0;\n line-height: 1.75;\n list-style: none;\n font-weight: 600;\n}\n.lr-tag-popup ul li:hover{\n color: <<colour tiddler-link-foreground>>;\n}\n.lr-tag-popup ul.lr-tags-remove li:hover{\n color: <<colour dirty-indicator>>;\n}\n.lr-tags-add li button::before {\n content: \"+ \";\n font-size: 1.2em;\n color: <<colour tiddler-link-foreground>>;\n}\n.lr-tags-remove li button::before {\n content: \"×  \";\n font-size: 1.2em;\n color: <<colour dirty-indicator>>;\n}\n\n@media (max-width: 960px) {\n}\n\n/* listreveal animation */\n\n@keyframes expanditem {\n 0% { \n height: 0;\n opacity: 0;\n }\n 80.0% {\n height: 60%;\n opacity: 0.9;\n }\n 100.0% {\n height: 100%;\n opacity: 1;\n }\n}\n\n@-webkit-keyframes expanditem {\n 0% { \n height: 0;\n opacity: 0;\n }\n 100.0% {\n height: 100%;\n opacity: 1;\n }\n}",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/telmiger/listreveal/lr.css",
"tags": "$:/tags/Stylesheet Listreveal ToDoComponents ToDoArchive",
"modifier": "Thomas Elmiger",
"modified": "20170628212920503",
"creator": "Thomas Elmiger",
"created": "20160816052415397"
},
"$:/plugins/telmiger/lib/icons/stopwatch-empty.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\" class=\"te-stopwatch-button tc-image-button\">\n<path d=\"M64.075 11.522c-32.17 0-58.25 26.082-58.25 58.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S96.25 11.52 64.076 11.52zm0 100.5c-23.336 0-42.25-18.914-42.25-42.25 0-23.33 18.914-42.25 42.25-42.25 23.337 0 42.25 18.92 42.25 42.25 0 23.336-18.913 42.25-42.25 42.25zM55.53 10.022c-2.763 0-5-2.24-5.002-5-.003-2.756 2.24-5 5-5h16.988c2.76 0 5 2.24 5 5 .005 2.757-2.24 5-5 5H55.53z\"/>\n<path fill=\"#000\" d=\"M55 60h18v18H55z\"/>\n</svg>",
"title": "$:/plugins/telmiger/lib/icons/stopwatch-empty.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20170509160632118",
"creator": "Thomas Elmiger",
"created": "20170506112920842"
},
"$:/plugins/telmiger/lib/icons/stopwatch-stop.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"5 0 128 128\" width=\"22pt\" height=\"22pt\" class=\"te-stopwatch-button tc-image-button\">\n<path d=\"M64.075 11.522c-32.17 0-58.25 26.082-58.25 58.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S96.25 11.52 64.076 11.52zm0 100.5c-23.336 0-42.25-18.914-42.25-42.25 0-23.33 18.914-42.25 42.25-42.25 23.337 0 42.25 18.92 42.25 42.25 0 23.336-18.913 42.25-42.25 42.25zM55.53 10.022c-2.763 0-5-2.24-5.002-5-.003-2.756 2.24-5 5-5h16.988c2.76 0 5 2.24 5 5 .005 2.757-2.24 5-5 5H55.53z\"/>\n<path d=\"M64.075 35.902c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998z\"/>\n<path fill=\"#FFF\" d=\"M49 54h30v30H49z\"/>\n</svg>",
"title": "$:/plugins/telmiger/lib/icons/stopwatch-stop.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20170509161709012",
"creator": "Thomas Elmiger",
"created": "20170507053913584"
},
"$:/plugins/telmiger/lib/icons/stopwatch.svg": {
"text": "<svg class=\"te-stopwatch-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178c-2.116 1.775-5.27 1.498-7.045-.613-1.772-2.11-1.498-5.27.616-7.047l9.95-8.348c2.115-1.774 5.27-1.5 7.045.618 1.775 2.108 1.498 5.27-.616 7.043l-9.95 8.348zM102.983 27.178c2.116 1.775 5.27 1.498 7.045-.613 1.772-2.11 1.498-5.27-.616-7.047l-9.95-8.348c-2.114-1.774-5.27-1.5-7.044.618-1.775 2.108-1.498 5.27.616 7.043l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/>\n </g>\n</svg>\n",
"title": "$:/plugins/telmiger/lib/icons/stopwatch.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20170509160445448",
"creator": "Thomas Elmiger",
"created": "20170509160027462"
},
"$:/plugins/telmiger/lib/entities": {
"text": "\\define ldsbra() [[\n\\define rdsbra() ]]\n\n<!-- !! Entities as Macro Definitions\n\n!!! Very short macros for use in other macros\n* ldsbra and rdsbra – left double square brackets and right //dsbra//\n\n-->",
"todo-done": "20160819011650",
"title": "$:/plugins/telmiger/lib/entities",
"tags": "$:/tags/Macro ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170702091256635",
"creator": "Thomas Elmiger",
"created": "20170629183744936"
},
"$:/plugins/telmiger/lib/languages/da-DK": {
"text": "ID:Dansk\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl: DD. MMM YYYY, kl. 0hh:0mm\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- strings: strigs start here -->\nAdd-tag: Tilføj tag\nAdd-tags-from-the-list: Tilføj tags fra listen\nall: alle\nall-projects: alle projekter\narchive: arkiv\nAre-you-sure?: Er du sikker?\nChange-deadline: Ændre slutdato\nchange-priority: Ændre prioritet\nchange-priority-to: sæt prioritet til\nClick-to-edit-title: Klik på titlen for at redigere!\nclose: luk\nClose: Luk\ndays-back: dage tilbage\nDetails: Vis detaljer\nDo-it-again: Gør det igen\nDo-now: Udfør nu\nDone: Udført\nEdit: Redigér\nHide-list: Skjul liste\nlate: senere\nManage-tags: Tag-Manager\nMove-down: Flyt ned\nMove-up: Flyt op\nNew-ToDo-Item: Ny opgave\nno.: nr.\nNothing-to-do-?: Intet at lave? Beskriv en ny opgave med denne knap\nPick-a-task-: Vælg en opgave fra listen nedenunder med denne knap\nPrint-window-hint: Åbn i nyt vindue for at printe ud\nProject: Projekt\nRecycle: Genbrug\nRelax-Nothing-to-do: Slap af. Der er ikke noget at lave.\nRemove-deadline: Fjern slutdato\nRemove-tags?: Fjern tags?\nReset: Reset\nsearch: søg …\nSend-it-down: ikke endnu\nSet-deadline: Sæt slutdato\nShow-list: Vis liste\nSort-by-deadline: Sortér efter slutdato\nSort-by-modification: Sortér efter sidste ændring\nSort-by-priority: Sortér alle efter prioritet\nSort-by-title: Sortér alle efter titel\nsorted-by-deadline: sorteret efter slutdato\nsorted-by-modification: sorteret efter sidste ændring\nsorted-by-priority: sorteret efter prioritet\nsorted-by-title: sorteret efter titel\nSwitch-to-edit-mode: Slå redigering til\nSwitch-to-safe-mode: Slå redigering fra\nTake-it-up: Tag det op!\nThis-is-done: Dette er udført\nThis-week: I denne uge\ntoday: i dag\nToday: I dag\nToDo: ToDo\nToDo-template-title: Ny opgave\nToDo-template-text: Motivation: Beskrivelse * Tests/Accept kriterier\nTomorrow: I morgen\nUuups: Uuups!\n<!-- comments: Kommentarer -->\n<!-- credits: Tusind tak til Birthe for den oprindelige oversættelse! -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->\n",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121501",
"title": "$:/plugins/telmiger/lib/languages/da-DK",
"tags": "ToDoComponents Translation",
"modifier": "Thomas Elmiger",
"modified": "20170714214949515",
"creator": "BC",
"created": "20170530162200369"
},
"$:/plugins/telmiger/lib/dates": {
"created": "20170627092117795",
"creator": "Thomas Elmiger",
"text": "\\define yearsSince(date-field:\"modified\",tiddler)\n<<yearsDiff \"\"\"$date-field$\"\"\" \"\"\"$tiddler$\"\"\">>\n\\end\n\n\\define monthsSince(date-field:\"modified\",tiddler)\n<$wikify name=\"years\" text='<<yearsDiff $date-field$ \"\"\"$tiddler$\"\"\">>'>\n<$wikify name=\"yearsM\" text='<$macrocall $name=\"rpn\" a=<<years>> b=12 operation=\"*\"/>'>\n<$wikify name=\"months\" text='<<monthsDiff $date-field$ \"\"\"$tiddler$\"\"\">>'>\n<$macrocall $name=\"rpn\" a=<<yearsM>> b=<<months>>/>\n</$wikify></$wikify></$wikify>\n\\end\n\n\\define daysSince(date-field:\"modified\",tiddler)\n<<daysDiff $date-field$ \"\"\"$tiddler$\"\"\">>\n\\end\n\n\\define hoursSince(date-field:\"modified\",tiddler)\n<$wikify name=\"days\" text='<<daysSince $date-field$ \"\"\"$tiddler$\"\"\">>'>\n<$wikify name=\"daysH\" text='<$macrocall $name=\"rpn\" a=<<days>> b=\"24\" operation=\"*\"/>'>\n<$wikify name=\"hours\" text='<<hoursDiff $date-field$ \"\"\"$tiddler$\"\"\">>'>\n<$macrocall $name=\"rpn\" a=<<daysH>> b=<<hours>>/>\n</$wikify></$wikify></$wikify>\n\\end\n\n\\define minutesSince(date-field:\"modified\",tiddler)\n<$wikify name=\"hours\" text='<<hoursSince $date-field$ \"\"\"$tiddler$\"\"\">>'><$wikify name=\"hoursM\" text='<$macrocall $name=\"rpn\" a=<<hours>> b=\"60\" operation=\"*\"/>'><$wikify name=\"minutes\" text='<<minutesDiff $date-field$ \"\"\"$tiddler$\"\"\">>'><$macrocall $name=\"rpn\" a=<<hoursM>> b=<<minutes>>/></$wikify></$wikify></$wikify>\n\\end\n\n\\define hoursMinutesSince(date-field:\"modified\",tiddler)\n<$wikify name=\"minutes\" text='<<minutesSince $date-field$ \"\"\"$tiddler$\"\"\">>'><$macrocall $name=\"rpn\" a=<<minutes>> b=60 operation=\"/\" precision=\"f\"/> h <$macrocall $name=\"rpn\" a=<<minutes>> b=60 operation=\"%\"/> m</$wikify>\n\\end\n\n\\define minutesTo(date-field:\"modified\",tiddler)\n<$wikify name=\"minutes\" text='<<minutesSince $date-field$ \"\"\"$tiddler$\"\"\">>'><$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=<<minutes>> b=\"-1\" operation=\"*\"/>'><<result>></$wikify></$wikify>\n\\end\n\n\\define hoursTo(date-field:\"modified\",tiddler)\n<$wikify name=\"hours\" text='<<hoursSince $date-field$ \"\"\"$tiddler$\"\"\">>'><$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=<<hours>> b=\"-1\" operation=\"*\"/>'><<result>></$wikify></$wikify>\n\\end\n\n\\define yearsDiff(date-field:\"modified\",tiddler)\n<$wikify name=\"a\" text='<<now YYYY>>'><$wikify name=\"b\" text='<$macrocall $name=\"yearValue\" field=$date-field$ tiddler=\"\"\"$tiddler$\"\"\"/>'><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify>\n\\end\n\n\\define monthsDiff(date-field:\"modified\",tiddler)\n<$wikify name=\"a\" text='<<now MM>>'><$wikify name=\"b\" text='<$macrocall $name=\"monthValue\" field=$date-field$ tiddler=\"\"\"$tiddler$\"\"\"/>'><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify>\n\\end\n\n\\define daysDiff(date-field:\"modified\",tiddler)\n<$wikify name=\"a\" text='<<now DD>>'><$wikify name=\"b\" text='<$macrocall $name=\"dayValue\" field=$date-field$ tiddler=\"\"\"$tiddler$\"\"\"/>'><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify>\n\\end\n\n\\define hoursDiff(date-field:\"modified\",tiddler)\n<$wikify name=\"a\" text='<<now 0hh>>'><$wikify name=\"b\" text='<$macrocall $name=\"hoursValue\" field=$date-field$ tiddler=\"\"\"$tiddler$\"\"\"/>'><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify>\n\\end\n\n\\define minutesDiff(date-field:\"modified\",tiddler)\n<$set name=\"update-everything-now\" value=<<now 0mm>>><$wikify name=\"a\" text=\"<<update-everything-now>>\"><$wikify name=\"b\" text='<$macrocall $name=\"minutesValue\" field=$date-field$ tiddler=\"\"\"$tiddler$\"\"\"/>'><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$set>\n\\end\n\n<!-- !! Calculations with dates\nTransform dates in TW [[Date Field Format|http://tiddlywiki.com/#Date%20Fields]]\n\nTODO: Jed Carty has better macros for similar things – build a new version based on these http://ooktech.com/jed/ExampleWikis/DateMacros/\n\nWe compare the date string in a given field with the result of the `<<now>>` macro combined with one of the selectors YYYY for years, MM for months, DD for Days, 0hh …, 0mm …, 0ss. Note the 0-prefix for values that could be zero! (They disappear and return nothing when this is missing).\n\nThis was developped for use with due dates. The macros are good enough to check if a deadline was missed or if it will be reached soon.\n\n* time since the given timestamp\n** yearsSince(date-field:\"modified\",tiddler) – tiddler defaults to current\n** monthsSince (counts also the year difference)\n** daysSince – does NOT take the month into account\n*** this would be complicated because of differing number of days in each month\n** hoursSince (counts also the days)\n*** this can result in errors when the days are in different monts\n*** we recommend to filter for days in the same month first\n** minutesSince (counts also the hours and days)\n** hoursMinutesSince – turn minutes from minutesSince back into hours and minutes \n* time to the given datestamp … – time since inverted (* -1)\n** minutesTo\n** hoursTo\n** missing: daysTo, monthsTo, yearsTo\n* Diff macros\n** yearsDiff(date-field:\"modified\",tiddler)\n** … and so on for months, days, hours, minutes\n\n\nSyntax: `<<yearsSince created>>`\n\nResult: <<yearsSince created>>\n\n-->\n",
"title": "$:/plugins/telmiger/lib/dates",
"tags": "[[ToDo Addons]] $:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20170714220748829"
},
"$:/plugins/telmiger/lib/dates-then": {
"created": "20170705203414697",
"creator": "Thomas Elmiger",
"text": "\\define yearValue(field,tiddler) <<dateValue YYYY $field$ $tiddler$>>\n\\define monthValue(field,tiddler) <<dateValue MM $field$ $tiddler$>>\n\\define dayValue(field,tiddler) <<dateValue DD $field$ $tiddler$>>\n\\define hoursValue(field,tiddler) <<dateValue 0hh $field$ $tiddler$>>\n\\define minutesValue(field,tiddler) <<dateValue 0mm $field$ $tiddler$>>\n\\define secondsValue(field,tiddler) <<dateValue 0ss $field$ $tiddler$>>\n\n\\define dateValue(template:\"YYYY-0MM-0DD\",field:\"modified\",tiddler) \n<$set name=\"tid\" filter=\"[field:title[$tiddler$]]\" value=\"\"\"$tiddler$\"\"\" emptyValue=<<currentTiddler>>><$view tiddler=<<tid>> field=\"\"\"$field$\"\"\" format=\"date\" template=\"\"\"$template$\"\"\"/></$set>\n\\end\n\n\n<!-- !! Macros for Dates from fields\nOutput dates from fields in TW [[Date Field Format|http://tiddlywiki.com/#Date%20Fields]]\n\n* dateValue(template:\"YYYY-0MM-0DD\",field:\"modified\",tiddler) – return a value from a date string via the view widget\n** field: where the date string is stored\n** tiddler: where the date string is stored, defaults to currentTiddler\n* yearValue(field,tiddler) – return the year\n** monthValue, dayValue, hoursValue, minutesValue, secondsValue – guess what ;–)\n\n-->\n\nSyntax: `<<hoursValue example-1>>`\n\nResult: <<hoursValue example-1>>\n\n",
"title": "$:/plugins/telmiger/lib/dates-then",
"tags": "[[ToDo Addons]] $:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20170714220234254",
"example-1": "20001231230000000"
}
}
}
<!-- allowed values for sort-list: priority/deadline/title -->
sort-list: deadline
<!-- allowed values for sort-report: priority/modified -->
sort-report: priority
<!-- comments: Kommentare -->
<!-- usage: <$reveal type="match" state="$:/plugins/telmiger/todonow/settings##sort-list" text="priority"> -->
show-list-deadline: bottom
{
"tiddlers": {
"$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js\ntype: application/javascript\nmodule-type: wikirule\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"checkbox\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\n\t// Match on [ ], [x], and [X], to the end of the line\n\tthis.matchRegExp = /^\\[([ xX])\\] .*$/mg;\n};\n\n/*\nRetrieve the configuration state of the clear all button\n*/\n\nexports.shouldShowClearAll = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var showClearAll = configWidgetFields[\"show-clearall\"] || \"true\";\n return (showClearAll === \"true\");\n}\n\n/*\nCreate list items\n*/\n\nexports.parse = function() {\n var listItems = [];\n var listStartPos = this.parser.pos;\n var match = this.match;\n\n // Start the list with a \"New List Item\" placeholder\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem-icon\"},\n for: {type: \"string\", value: \"checklist-new\"}\n }\n },\n {\n type: \"element\",\n tag: \"input\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem\"},\n id: {type: \"string\", value: \"checklist-new\"},\n placeholder: {type: \"string\", value: \"New list item (WikiText)\"}\n // impossible? add an aria-label \"Write a new todo item\"\n // attribute aria-label seems to be missing in $:/core/modules/widgets/edit.js \n }\n },\n // label for the input field\n {\n type: \"element\",\n tag: \"label\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"},\n for: {type: \"string\", value: \"checklist-new\"}\n },\n children: [\n {type: \"text\", text: \"Write a new item for the list.\"}\n ]\n },\n // (pseudo) button to add the new item to the list\n {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-add\"},\n title: {type: \"string\", value: \"add to list\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"add list item\"}\n ]\n }\n ]\n }\n // end of button\n ]\n });\n\n // Create items in a loop\n do {\n var startPos = this.parser.pos;\n this.parser.pos = this.matchRegExp.lastIndex;\n var parseResults = this.parser.wiki.parseText(\n \"text/vnd.tiddlywiki\",\n this.parser.source.substring(startPos + 4, this.parser.pos),\n {parseAsInline: true});\n\n // Use the listitem body as a label for the checkbox to get better accessibility\n var itembody = {\n type: \"element\",\n tag: \"label\",\n attributes: {\n for: {type: \"string\", value: match.index}\n },\n children: parseResults.tree\n };\n\n var checkbox = {\n type: \"element\",\n tag: \"input\",\n attributes: {\n type: {type: \"string\", value: \"checkbox\"},\n pos: {type: \"string\", value: match.index},\n id: {type: \"string\", value: match.index}\n }\n };\n if (match[1] === \"x\" || match[1] === \"X\") {\n checkbox.attributes.checked = {type: \"boolean\", value: true};\n }\n\n // Make a button to delete the item\n var removelabel = {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"delete list item\"}\n ]\n };\n\n var removebutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-remove\"},\n title: {type: \"string\", value: \"delete\"}\n },\n children: [\n removelabel\n ]\n };\n\n // add the item to the list\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n checkbox,\n removebutton,\n itembody\n ]\n });\n\n match = this.matchRegExp.exec(this.parser.source);\n } while (match != null && match.index == 1 + this.parser.pos);\n\n if (this.shouldShowClearAll()) {\n // show the clear-all button\n var clearallbutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall-label\"}\n },\n children: [\n {type: \"text\", text: \"Clear all\"}\n ]\n }\n ]\n };\n\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n clearallbutton\n ]\n });\n }\n\n return [{\n type: \"checklist\",\n attributes: {\n listStartPos: {type: \"string\", value: listStartPos},\n listStopPos: {type: \"string\", value: this.parser.pos}\n },\n children: listItems\n }];\n};\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/plugins/tgrosinger/tw5-checklist/checklist.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checklist.js\ntype: application/javascript\nmodule-type: widget\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckListWidget = function(parseTreeNode,options) {\n this.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckListWidget.prototype.render = function(parent,nextSibling) {\n this.tiddlerTitle = this.getVariable(\"currentTiddler\");\n this.startPos = parseInt(this.parseTreeNode.attributes.listStartPos.value);\n this.stopPos = parseInt(this.parseTreeNode.attributes.listStopPos.value);\n\n this.parentDomNode = parent;\n this.nextSibling = nextSibling;\n this.computeAttributes();\n this.execute();\n};\n\n/*\nRetrieve the configuration state indicating if items should be re-arranged\n*/\nCheckListWidget.prototype.shouldMoveChecked = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var moveChecked = configWidgetFields[\"move-checked\"] || \"true\";\n return (moveChecked === \"true\");\n}\n\n/*\nCompute the internal state of the widget\n*/\nCheckListWidget.prototype.execute = function() {\n var domNode = this.document.createElement(\"ul\");\n domNode.className = \"checklist\";\n\n this.makeChildWidgets();\n this.renderChildren(domNode);\n\n /* add event listeners */\n $tw.utils.each(domNode.childNodes, function(childNode) {\n if (childNode.childNodes[0].className === \"checklist-clearall\") {\n // ClearAllChecks, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[0],\n [{name: \"click\", handlerObject: this,\n handlerMethod: \"handleClearChecksEvent\"}]);\n } else if (childNode.childNodes[1].className === \"checklist-newitem\") {\n // NewListItem, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"blur\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"},\n {name: \"keyup\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"}\n ]);\n // If this is a normal checklist item …\n } else {\n if (childNode.childNodes[0].checked) {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleUncheckEvent\"}]);\n } else {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleCheckEvent\"}]);\n }\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"click\", handlerObject: this, handlerMethod: \"handleRemoveEvent\"}\n ]);\n }\n }.bind(this));\n\n this.parentDomNode.insertBefore(domNode, this.nextSibling);\n};\n\n// When the user clicks the clear-all button, remove all checks\nCheckListWidget.prototype.handleClearChecksEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n var bodyLen = bodyList.length;\n\n for (var i = 0; i < bodyLen; i++) {\n bodyList[i] = bodyList[i].replace(\"[x]\", \"[ ]\");\n bodyList[i] = bodyList[i].replace(\"[X]\", \"[ ]\");\n }\n\n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\n// On blur or enter, save the new list item\nCheckListWidget.prototype.handleBlurNewItemEvent = function(event) {\n if (event.type == \"keyup\" && event.keyCode != 13) {\n // This function receives both blur and keyup events.\n // Only run on blur or enter key\n return;\n }\n\n if (event.target.value.trim() === \"\") {\n // Don't save an empty list item\n return;\n }\n\n var checklist = event.target.parentNode.parentNode;\n var firstItem = checklist.childNodes[1];\n var pos = firstItem.childNodes[0].attributes.pos.nodeValue;\n\n var newItem = \"[ ] \" + event.target.value.trim() + \"\\n\";\n event.target.value = \"\";\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n tiddlerBody = tiddlerBody.substring(0, pos) + newItem + tiddlerBody.substring(pos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, tiddlerBody);\n};\n\nCheckListWidget.prototype.handleCheckEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Find the index of the first checked item\n var i = 1;\n var firstChecked = domItem.nextSibling;\n while (firstChecked !== null && !firstChecked.childNodes[0].checked) {\n i++;\n firstChecked = firstChecked.nextSibling;\n }\n\n // Update the tiddler data\n bodyList[itemIndex] = bodyList[itemIndex].replace(\"[ ]\", \"[x]\");\n\n // Rearrange items (if configured to do so)\n var shouldMove = this.shouldMoveChecked();\n if (shouldMove) {\n bodyList.splice(itemIndex + i, 0, bodyList[itemIndex]);\n bodyList.splice(itemIndex, 1);\n }\n\n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n\n if (shouldMove) {\n // Update the DOM (pre-refresh for animations)\n domList.insertBefore(domItem, firstChecked);\n }\n};\n\nCheckListWidget.prototype.handleUncheckEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Find the index of the first checked item\n var i = 0;\n var firstChecked = domList.firstChild.nextSibling; // Skip the newItem input\n while (firstChecked !== null) {\n if (firstChecked.childNodes[0].checked || firstChecked == domItem) {\n break;\n }\n i++;\n firstChecked = firstChecked.nextSibling;\n }\n\n // Update the tiddler data\n bodyList[itemIndex] = bodyList[itemIndex].replace(\"[x]\", \"[ ]\");\n\n // Rearrange items (if configured to do so)\n var shouldMove = this.shouldMoveChecked();\n if (shouldMove) {\n var bodyItem = bodyList[itemIndex];\n bodyList.splice(itemIndex, 1);\n bodyList.splice(i, 0, bodyItem);\n }\n\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n\n if (shouldMove) {\n // Update the DOM (pre-refresh for animations)\n domList.insertBefore(domItem, firstChecked);\n }\n};\n\nCheckListWidget.prototype.handleRemoveEvent = function (event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Update the tiddler data\n bodyList.splice(itemIndex, 1);\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\n/*\nSelectively refreshes the widget if needed.\nReturns true if the widget or any of its children needed re-rendering\n*/\nCheckListWidget.prototype.refresh = function(changedTiddlers) {\n var changedAttributes = this.computeAttributes();\n // Refresh if an attribute has changed, or the type associated with\n // the target tiddler has changed\n if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index ||\n (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n this.refreshSelf();\n return true;\n } else {\n return this.refreshChildren(changedTiddlers);\n }\n};\n\nexports.checklist = CheckListWidget;\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checklist.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tgrosinger/tw5-checklist/Configuration": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Configuration",
"move-checked": "true",
"strike-checked": "true",
"show-clearall": "true",
"text": "Please see the [[homepage|https://grosinger.net/tw5-checklist/]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Rearrange checked items:</th>\n <td>\n <$checkbox field=\"move-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Strike checked items: </th>\n <td>\n <$checkbox field=\"strike-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Show Clear-All: </th>\n <td>\n <$checkbox field=\"show-clearall\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n</table>\n\n* make a change in a list to see the effect (check/uncheck or add/delete an item).\n\n<style>\n.rerendering-required:after {\n content: ' *';\n color: #e32;\n}\n</style>\n"
},
"$:/plugins/tgrosinger/tw5-checklist/license": {
"title": "$:/plugins/tgrosinger/tw5-checklist/license",
"text": "The MIT License (MIT)\n\nCopyright (c) 2015 Tony Grosinger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
},
"$:/plugins/tgrosinger/tw5-checklist/readme": {
"title": "$:/plugins/tgrosinger/tw5-checklist/readme",
"text": "This plugin provides a simple checklist which does not create a new tiddler for\neach task. Features include:\n\n[x] Check and uncheck items\n[x] Simple, no configuration necessary\n[x] Easily editable, and easy to read in edit view\n[x] Add new list items without using edit mode\n[x] Move completed items to bottom of list\n\n[[Source code|https://github.com/tgrosinger/tw5-checklist]]\n"
},
"$:/plugins/tgrosinger/tw5-checklist/stylesheet": {
"title": "$:/plugins/tgrosinger/tw5-checklist/stylesheet",
"tags": "$:/tags/Stylesheet",
"text": "ul.checklist {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\nul.checklist > li {\n position: relative;\n width: calc(100% - 1em);\n}\n\n\n/* input form */\n\n.checklist-newitem-icon::before {\n content: \"✎\";\n}\n\ninput.checklist-newitem {\n margin-left: 1em;\n margin-bottom: 0.75em;\n padding: 2px;\n border: none;\n border-bottom: solid 2px <<colour sidebar-tab-background>>;\n transition: border 0.3s;\n width: calc(100% - 2em - 20px);\n}\n\ninput:focus.checklist-newitem {\n border-bottom: solid 2px <<colour notification-border>>;\n}\n\n\n/* placeholder text */\n\n::-webkit-input-placeholder { \n color: #444;\n font-style: italic;\n}\n::-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n:-ms-input-placeholder { \n color: #444;\n font-style: italic;\n}\n:-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n::placeholder {\n color: #444;\n font-style: italic;\n}\n\n\n/* list items content */\n\n.checklist li input[type=\"checkbox\"] {\n vertical-align: top;\n margin-top: 4px;\n}\n\n.checklist label {\n display: inline-block;\n position: relative;\n margin-left: -1em;\n padding-left: 0.4em;\n left: 1.4em;\n width: calc(100% - 2em - 20px);\n}\n\n.checklist > li:hover label, \n.checklist input[type=\"checkbox\"]:hover + button + label, \n.checklist input[type=\"checkbox\"]:focus + button + label {\n background-color: <<colour sidebar-tab-background>>;\n}\n\ninput:checked + .checklist-remove + label {\n opacity: 0.5;\n}\n\n.checklist li input + .checklist-remove:hover + label,\n.checklist li input + .checklist-remove:focus + label {\n background-color: rgba(255,0,0,0.25);\n opacity: 0.8;\n border-radius: 5px;\n}\n\n/* strike checked items only if set in user configuration */\n<$list filter=\"[[$:/plugins/tgrosinger/tw5-checklist/Configuration]field:strike-checked[true]]\">\ninput:checked + .checklist-remove + label {\n text-decoration: line-through;\n}\n</$list>\n\n\n/* buttons */\n\nbutton.checklist-add {\n position: relative;\n left: 0.75em;\n width: 18px;\n height: 18px;\n border-radius: 5px;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%221%22%20height%3D%227%22%20x%3D%225%22%20y%3D%222%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3Crect%20width%3D%227%22%20height%3D%221%22%20x%3D%222%22%20y%3D%225%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n}\n\nbutton.checklist-add:hover, button.checklist-add:focus {\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-remove {\n display: block;\n position: absolute;\n top: 2px;\n right: -6px;\n width: 18px;\n height: 18px;\n border-radius: 5px;\n color: <<colour sidebar-muted-foreground>>;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%225%22%20height%3D%221%22%20x%3D%223%22%20y%3D%225%22%20fill%3D%22%23444%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n/* background-color: <<colour sidebar-tab-background-selected>>; */\n border: 1px solid <<colour sidebar-tab-background>>;\n}\n\nul.checklist > li:hover button.checklist-remove {\n color: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton.checklist-remove:hover,\nbutton.checklist-remove:focus {\n color: <<colour dirty-indicator>>;\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-clearall {\n margin-top: 0.75em;\n}\n\nbutton.checklist-clearall::before {\n content: \"↻ \";\n}\n\n\n/* visualliy hidden, accessible for screen reader */\n\n.checklist-vh {\n position: absolute !important;\n clip: rect(1px, 1px, 1px, 1px);\n padding:0 !important;\n border:0 !important;\n height: 1px !important;\n width: 1px !important;\n overflow: hidden;\n}\n"
},
"$:/plugins/tgrosinger/tw5-checklist/Usage": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Usage",
"text": "! Creating a New Checklist\n\nThis plugin provides a wikitext rule for use in normal wikitext tiddlers. A\nchecklist is defined as two brackets with either a <kbd>space</kbd> or an\n<kbd>x</kbd> between them.\n\n```\n! My Shopping List\n\n[ ] Milk\n[ ] Eggs\n[x] Bread\n\n```\n\n!! Multiple Checklists\n\nThere is no need to declare an instance of a checklist, and you can place\nchecklist items throughout a tiddler. Each set of consecutive (single new-line\ndelimited) checklist items will be displayed as a single checklist.\n\n```\n! My first list\n\n[ ] Item 1\n[x] Item 2\n\n! My second list\n\n[x] Item 3\n[x] Item 4\n\n```\n\n!! List Item Formatting\n\nList items support any inline formatting rules. This means you can create links,\nbold, or anything else found on the\n[[Formatting in WikiText|http://tiddlywiki.com/static/Formatting%2520in%2520WikiText.html]] guide.\n\n! Configuration\n\nPlease see [[the configuration|$:/plugins/tgrosinger/tw5-checklist/Configuration]]\npage to learn about and adjust configuration options.\n"
}
}
}
{
"tiddlers": {
"$:/config/HighlightPlugin/TypeMappings/application/javascript": {
"title": "$:/config/HighlightPlugin/TypeMappings/application/javascript",
"text": "javascript"
},
"$:/config/HighlightPlugin/TypeMappings/application/json": {
"title": "$:/config/HighlightPlugin/TypeMappings/application/json",
"text": "json"
},
"$:/config/HighlightPlugin/TypeMappings/text/css": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/css",
"text": "css"
},
"$:/config/HighlightPlugin/TypeMappings/text/html": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/html",
"text": "html"
},
"$:/config/HighlightPlugin/TypeMappings/image/svg+xml": {
"title": "$:/config/HighlightPlugin/TypeMappings/image/svg+xml",
"text": "xml"
},
"$:/config/HighlightPlugin/TypeMappings/text/x-markdown": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/x-markdown",
"text": "markdown"
},
"$:/plugins/tiddlywiki/highlight/highlight.js": {
"text": "var hljs = require(\"$:/plugins/tiddlywiki/highlight/highlight.js\");\n!function(e){\"undefined\"!=typeof exports?e(exports):(window.hljs=e({}),\"function\"==typeof define&&define.amd&&define(\"hljs\",[],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,\"&\").replace(/</gm,\"<\").replace(/>/gm,\">\")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+\" \";if(i+=e.parentNode?e.parentNode.className:\"\",t=/\\blang(?:uage)?-([\\w-]+)\\b/i.exec(i))return w(t[1])?t[1]:\"no-highlight\";for(i=i.split(/\\s+/),n=0,r=i.length;r>n;n++)if(w(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:\"start\",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:\"stop\",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset<r[0].offset?e:r:\"start\"==r[0].event?e:r:e.length?e:r}function o(e){function r(e){return\" \"+e.nodeName+'=\"'+n(e.value)+'\"'}f+=\"<\"+t(e)+Array.prototype.map.call(e.attributes,r).join(\"\")+\">\"}function u(e){f+=\"</\"+t(e)+\">\"}function c(e){(\"start\"==e.event?o:u)(e.node)}for(var s=0,f=\"\",l=[];e.length||r.length;){var g=i();if(f+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){l.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);l.reverse().forEach(o)}else\"start\"==g[0].event?l.push(g[0].node):l.pop(),c(g.splice(0,1)[0])}return f+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),\"m\"+(e.cI?\"i\":\"\")+(r?\"g\":\"\"))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(\" \").forEach(function(e){var t=e.split(\"|\");u[t[0]]=[n,t[1]?Number(t[1]):1]})};\"string\"==typeof a.k?c(\"keyword\",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\\b\\w+\\b/,!0),i&&(a.bK&&(a.b=\"\\\\b(\"+a.bK.split(\" \").join(\"|\")+\")\\\\b\"),a.b||(a.b=/\\B|\\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\\B|\\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||\"\",a.eW&&i.tE&&(a.tE+=(a.e?\"|\":\"\")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push(\"self\"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var f=a.c.map(function(e){return e.bK?\"\\\\.?(\"+e.b+\")\\\\.?\":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=f.length?t(f.join(\"|\"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function h(e,n,t,r){var a=r?\"\":E.classPrefix,i='<span class=\"'+a,o=t?\"\":\"</span>\";return i+=e+'\">',i+n+o}function p(){if(!L.k)return n(y);var e=\"\",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(y)}return e+n(y.substr(t))}function d(){var e=\"string\"==typeof L.sL;if(e&&!x[L.sL])return n(y);var t=e?f(L.sL,y,!0,M[L.sL]):l(y,L.sL.length?L.sL:void 0);return L.r>0&&(B+=t.r),e&&(M[L.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,\"\",!0):\"\";e.rB?(k+=r,y=\"\"):e.eB?(k+=n(t)+r,y=\"\"):(k+=r,y=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(y+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(y+=t),k+=b();do L.cN&&(k+=\"</span>\"),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),y=\"\",a.starts&&v(a.starts,\"\"),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(L.cN||\"<unnamed>\")+'\"');return y+=t,t.length||1}var N=w(e);if(!N)throw new Error('Unknown language: \"'+e+'\"');s(N);var R,L=i||N,M={},k=\"\";for(R=L;R!=N;R=R.parent)R.cN&&(k=h(R.cN,\"\",!0)+k);var y=\"\",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+=\"</span>\");return{r:B,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf(\"Illegal\"))return{r:0,value:n(t)};throw O}}function l(e,t){t=t||E.languages||Object.keys(x);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(w(n)){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\\t)+)/gm,function(e,n){return n.replace(/\\t/g,E.tabReplace)})),E.useBR&&(e=e.replace(/\\n/g,\"<br>\")),e}function h(e,n,t){var r=n?R[n]:t,a=[e.trim()];return e.match(/\\bhljs\\b/)||a.push(\"hljs\"),-1===e.indexOf(r)&&a.push(r),a.join(\" \").trim()}function p(e){var n=i(e);if(!a(n)){var t;E.useBR?(t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),t.innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):t=e;var r=t.textContent,o=n?f(n,r,!0):l(r),s=u(t);if(s.length){var p=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){E=o(E,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll(\"pre code\");Array.prototype.forEach.call(e,p)}}function v(){addEventListener(\"DOMContentLoaded\",b,!1),addEventListener(\"load\",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){R[e]=n})}function N(){return Object.keys(x)}function w(e){return e=e.toLowerCase(),x[e]||x[R[e]]}var E={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0},x={},R={};return e.highlight=f,e.highlightAuto=l,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=w,e.inherit=o,e.IR=\"[a-zA-Z]\\\\w*\",e.UIR=\"[a-zA-Z_]\\\\w*\",e.NR=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",e.CNR=\"(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",e.BNR=\"\\\\b(0b[01]+)\",e.RSR=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",e.BE={b:\"\\\\\\\\[\\\\s\\\\S]\",r:0},e.ASM={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE]},e.QSM={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},e.PWM={b:/\\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\\b/},e.C=function(n,t,r){var a=e.inherit({cN:\"comment\",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",r:0}),a},e.CLCM=e.C(\"//\",\"$\"),e.CBCM=e.C(\"/\\\\*\",\"\\\\*/\"),e.HCM=e.C(\"#\",\"$\"),e.NM={cN:\"number\",b:e.NR,r:0},e.CNM={cN:\"number\",b:e.CNR,r:0},e.BNM={cN:\"number\",b:e.BNR,r:0},e.CSSNM={cN:\"number\",b:e.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",r:0},e.RM={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[e.BE,{b:/\\[/,e:/\\]/,r:0,c:[e.BE]}]},e.TM={cN:\"title\",b:e.IR,r:0},e.UTM={cN:\"title\",b:e.UIR,r:0},e});hljs.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"header\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",r:0},{cN:\"bullet\",b:\"^([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",r:0}]},{cN:\"blockquote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"`.+?`\"},{b:\"^( {4}|\t)\",e:\"$\",r:0}]},{cN:\"horizontal_rule\",b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"link_label\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,r:0},{cN:\"link_url\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"link_reference\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],r:10},{b:\"^\\\\[.+\\\\]:\",rB:!0,c:[{cN:\"link_reference\",b:\"\\\\[\",e:\"\\\\]:\",eB:!0,eE:!0,starts:{cN:\"link_url\",e:\"$\"}}]}]}});hljs.registerLanguage(\"ruby\",function(e){var c=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",r=\"and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",b={cN:\"doctag\",b:\"@[A-Za-z]+\"},a={cN:\"value\",b:\"#<\",e:\">\"},n=[e.C(\"#\",\"$\",{c:[b]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[b],r:10}),e.C(\"^__END__\",\"\\\\n$\")],s={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:r},t={cN:\"string\",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/}]},i={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",k:r},d=[t,a,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{cN:\"inheritance\",b:\"<\\\\s*\",c:[{cN:\"parent\",b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(n)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:c}),i].concat(n)},{cN:\"constant\",b:\"(::)?(\\\\b[A-Z]\\\\w*(::)?)+\",r:0},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":\",c:[t,{b:c}],r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{cN:\"variable\",b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{b:\"(\"+e.RSR+\")\\\\s*\",c:[a,{cN:\"regexp\",c:[e.BE,s],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(n),r:0}].concat(n);s.c=d,i.c=d;var o=\"[>?]>\",l=\"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\",u=\"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>\",N=[{b:/^\\s*=>/,cN:\"status\",starts:{e:\"$\",c:d}},{cN:\"prompt\",b:\"^(\"+o+\"|\"+l+\"|\"+u+\")\",starts:{e:\"$\",c:d}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:r,c:n.concat(N).concat(d)}});hljs.registerLanguage(\"makefile\",function(e){var a={cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]};return{aliases:[\"mk\",\"mak\"],c:[e.HCM,{b:/^\\w+\\s*\\W*=/,rB:!0,r:0,starts:{cN:\"constant\",e:/\\s*\\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:\"title\",b:/^[\\w]+:\\s*$/},{cN:\"phony\",b:/^\\.PHONY:/,e:/$/,k:\".PHONY\",l:/[\\.\\w]+/},{b:/^\\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage(\"json\",function(e){var t={literal:\"true false null\"},i=[e.QSM,e.CNM],l={cN:\"value\",e:\",\",eW:!0,eE:!0,c:i,k:t},c={b:\"{\",e:\"}\",c:[{cN:\"attribute\",b:'\\\\s*\"',e:'\"\\\\s*:\\\\s*',eB:!0,eE:!0,c:[e.BE],i:\"\\\\n\",starts:l}],i:\"\\\\S\"},n={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(l,{cN:null})],i:\"\\\\S\"};return i.splice(i.length,0,c,n),{c:i,k:t,i:\"\\\\S\"}});hljs.registerLanguage(\"xml\",function(t){var s=\"[A-Za-z0-9\\\\._:-]+\",c={b:/<\\?(php)?(?!\\w)/,e:/\\?>/,sL:\"php\"},e={eW:!0,i:/</,r:0,c:[c,{cN:\"attribute\",b:s,r:0},{b:\"=\",r:0,c:[{cN:\"value\",c:[c],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/[^\\s\\/>]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xsl\",\"plist\"],cI:!0,c:[{cN:\"doctype\",b:\"<!DOCTYPE\",e:\">\",r:10,c:[{b:\"\\\\[\",e:\"\\\\]\"}]},t.C(\"<!--\",\"-->\",{r:10}),{cN:\"cdata\",b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",r:10},{cN:\"tag\",b:\"<style(?=\\\\s|>|$)\",e:\">\",k:{title:\"style\"},c:[e],starts:{e:\"</style>\",rE:!0,sL:\"css\"}},{cN:\"tag\",b:\"<script(?=\\\\s|>|$)\",e:\">\",k:{title:\"script\"},c:[e],starts:{e:\"</script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\"]}},c,{cN:\"pi\",b:/<\\?\\w+/,e:/\\?>/,r:10},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"title\",b:/[^ \\/><\\n\\t]+/,r:0},e]}]}});hljs.registerLanguage(\"css\",function(e){var c=\"[a-zA-Z-][a-zA-Z0-9_-]*\",a={cN:\"function\",b:c+\"\\\\(\",rB:!0,eE:!0,e:\"\\\\(\"},r={cN:\"rule\",b:/[A-Z\\_\\.\\-]+\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{cN:\"value\",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"hexcolor\",b:\"#[0-9A-Fa-f]+\"},{cN:\"important\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,r,{cN:\"id\",b:/\\#[A-Za-z0-9_-]+/},{cN:\"class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"attr_selector\",b:/\\[/,e:/\\]/,i:\"$\"},{cN:\"pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"']+/},{cN:\"at_rule\",b:\"@(font-face|page)\",l:\"[a-z-]+\",k:\"font-face page\"},{cN:\"at_rule\",b:\"@\",e:\"[{;]\",c:[{cN:\"keyword\",b:/\\S+/},{b:/\\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:\"tag\",b:c,r:0},{cN:\"rules\",b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,r]}]}});hljs.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},s={b:\"->{\",e:\"}\"},n={cN:\"variable\",v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,r:0}]},o=[e.BE,r,n],i=[n,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),s,{cN:\"string\",c:o,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",r:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",r:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",r:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",r:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",r:5},{b:\"qw\\\\s+q\",e:\"q\",r:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],r:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],r:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",r:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",r:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],r:0}]},{cN:\"sub\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",r:5},{cN:\"operator\",b:\"-\\\\w\\\\b\",r:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=i,s.c=i,{aliases:[\"pl\"],k:t,c:i}});hljs.registerLanguage(\"cs\",function(e){var r=\"abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield\",t=e.IR+\"(<\"+e.IR+\">)?\";return{aliases:[\"csharp\"],k:r,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"xmlDocTag\",v:[{b:\"///\",r:0},{b:\"<!--|-->\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"preprocessor\",b:\"#\",e:\"$\",k:\"if else elif endif define undef warning error line region endregion pragma checksum\"},{cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},e.ASM,e.QSM,e.CNM,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[{cN:\"title\",b:\"[a-zA-Z](\\\\.?\\\\w)*\",r:0},e.CLCM,e.CBCM]},{bK:\"new return throw await\",r:0},{cN:\"function\",b:\"(\"+t+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage(\"apache\",function(e){var r={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"tag\",b:\"</?\",e:\">\"},{cN:\"keyword\",b:/\\w+/,r:0,k:{common:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,r:0,k:{literal:\"on off all\"},c:[{cN:\"sqbracket\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"cbracket\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",r]},r,e.QSM]}}],i:/\\S/}});hljs.registerLanguage(\"http\",function(t){return{aliases:[\"https\"],i:\"\\\\S\",c:[{cN:\"status\",b:\"^HTTP/[0-9\\\\.]+\",e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{cN:\"request\",b:\"^[A-Z]+ (.*?) HTTP/[0-9\\\\.]+$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{cN:\"string\",e:\"$\"}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage(\"objectivec\",function(e){var t={cN:\"built_in\",b:\"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\\\w+\"},i={keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},o=/[a-zA-Z@][a-zA-Z0-9_]*/,n=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:i,l:o,i:\"</\",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"}]},{cN:\"preprocessor\",b:\"#\",e:\"$\",c:[{cN:\"title\",v:[{b:'\"',e:'\"'},{b:\"<\",e:\">\"}]}]},{cN:\"class\",b:\"(\"+n.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:n,l:o,c:[e.UTM]},{cN:\"variable\",b:\"\\\\.\"+e.UIR,r:0}]}});hljs.registerLanguage(\"python\",function(e){var r={cN:\"prompt\",b:/^(>>>|\\.\\.\\.) /},b={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},e.ASM,e.QSM]},a={cN:\"number\",r:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},l={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",r,a,b]};return{aliases:[\"py\",\"gyp\"],k:{keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False\",built_in:\"Ellipsis NotImplemented\"},i:/(<\\/|->|\\?)/,c:[r,a,b,e.HCM,{v:[{cN:\"function\",bK:\"def\",r:10},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,l]},{cN:\"decorator\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}});hljs.registerLanguage(\"java\",function(e){var a=e.UIR+\"(<\"+e.UIR+\">)?\",t=\"false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private\",c=\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",r={cN:\"number\",b:c,r:0};return{aliases:[\"jsp\"],k:t,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",r:0},{cN:\"function\",b:\"(\"+a+\"\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:\"annotation\",b:\"@[A-Za-z]+\"}]}});hljs.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},s={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},a={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"sh\",\"zsh\"],l:/-?[a-z\\.]+/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",operator:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"shebang\",b:/^#![^\\n]+sh\\s*$/,r:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],r:0},e.HCM,e.NM,s,a,t]}});hljs.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*]/,c:[{cN:\"operator\",bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke\",e:/;/,eW:!0,k:{keyword:\"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null\",built_in:\"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage(\"nginx\",function(e){var r={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},b={eW:!0,l:\"[a-z/_]+\",k:{built_in:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},r:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,r],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{cN:\"url\",b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[r]},{cN:\"regexp\",c:[e.BE,r],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",r:0},r]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"title\",b:e.UIR,starts:b}],r:0}],i:\"[^\\\\s\\\\}]\"}});hljs.registerLanguage(\"cpp\",function(t){var e={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},r={cN:\"string\",v:[t.inherit(t.QSM,{b:'((u8?|U)|L)?\"'}),{b:'(u8?|U)?R\"',e:'\"',c:[t.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},s={cN:\"number\",v:[{b:\"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)\"},{b:t.CNR}]},i={cN:\"preprocessor\",b:\"#\",e:\"$\",k:\"if else elif endif define undef warning error line pragma ifdef ifndef\",c:[{b:/\\\\\\n/,r:0},{bK:\"include\",e:\"$\",c:[r,{cN:\"string\",b:\"<\",e:\">\",i:\"\\\\n\"}]},r,s,t.CLCM,t.CBCM]},a=t.IR+\"\\\\s*\\\\(\",c={keyword:\"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong\",built_in:\"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf\",literal:\"true false nullptr NULL\"};return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\"],k:c,i:\"</\",c:[e,t.CLCM,t.CBCM,s,r,i,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:c,c:[\"self\",e]},{b:t.IR+\"::\",k:c},{bK:\"new throw return else\",r:0},{cN:\"function\",b:\"(\"+t.IR+\"[\\\\*&\\\\s]+)+\"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\\w\\s\\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s]},t.CLCM,t.CBCM,i]}]}});hljs.registerLanguage(\"php\",function(e){var c={cN:\"variable\",b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},a={cN:\"preprocessor\",b:/<\\?(php)?|\\?>/},i={cN:\"string\",c:[e.BE,a],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},t={v:[e.BNM,e.CNM]};return{aliases:[\"php3\",\"php4\",\"php5\",\"php6\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.CLCM,e.HCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"},a]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},a,c,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",c,e.CBCM,i,t]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},i,t]}});hljs.registerLanguage(\"coffeescript\",function(e){var c={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},n=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={cN:\"subst\",b:/#\\{/,e:/}/,k:c},t=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,r]},{b:/\"/,e:/\"/,c:[e.BE,r]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[r,e.HCM]},{b:\"//[gim]*\",r:0},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{cN:\"property\",b:\"@\"+n},{b:\"`\",e:\"`\",eB:!0,eE:!0,sL:\"javascript\"}];r.c=t;var s=e.inherit(e.TM,{b:n}),i=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",o={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:c,c:[\"self\"].concat(t)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:c,i:/\\/\\*/,c:t.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+n+\"\\\\s*=\\\\s*\"+i,e:\"[-=]>\",rB:!0,c:[s,o]},{b:/[:\\(,=]\\s*/,r:0,c:[{cN:\"function\",b:i,e:\"[-=]>\",rB:!0,c:[o]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[s]},s]},{cN:\"attribute\",b:n+\":\",e:\":\",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage(\"javascript\",function(e){return{aliases:[\"js\"],k:{keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},c:[{cN:\"pi\",r:10,b:/^\\s*['\"]use (strict|asm)['\"]/},e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"}]},e.CLCM,e.CBCM,{cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>\\s*[);\\]]/,r:0,sL:\"xml\"}],r:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\\[|%/},{b:/\\$[(.]/},{b:\"\\\\.\"+e.IR,r:0},{bK:\"import\",e:\"[;$]\",k:\"import from as\",c:[e.ASM,e.QSM]},{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]}],i:/#/}});hljs.registerLanguage(\"ini\",function(e){var c={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",r:10},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"title\",b:/^\\s*\\[+/,e:/\\]+/},{cN:\"setting\",b:/^[a-z0-9\\[\\]_-]+\\s*=\\s*/,e:\"$\",c:[{cN:\"value\",eW:!0,k:\"on off true false yes no\",c:[{cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},c,{cN:\"number\",b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},e.NM],r:0}]}]}});hljs.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"chunk\",r:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"header\",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\\-\\-\\-/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+\\+\\+/,e:/$/},{b:/\\*{5}/,e:/\\*{5}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"change\",b:\"^\\\\!\",e:\"$\"}]}});\nexports.hljs = hljs;\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/highlight/highlight.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/highlight/highlight.css": {
"text": "/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: #f0f0f0;\n -webkit-text-size-adjust: none;\n}\n\n.hljs,\n.hljs-subst,\n.hljs-tag .hljs-title,\n.nginx .hljs-title {\n color: black;\n}\n\n.hljs-string,\n.hljs-title,\n.hljs-constant,\n.hljs-parent,\n.hljs-tag .hljs-value,\n.hljs-rule .hljs-value,\n.hljs-preprocessor,\n.hljs-pragma,\n.hljs-name,\n.haml .hljs-symbol,\n.ruby .hljs-symbol,\n.ruby .hljs-symbol .hljs-string,\n.hljs-template_tag,\n.django .hljs-variable,\n.smalltalk .hljs-class,\n.hljs-addition,\n.hljs-flow,\n.hljs-stream,\n.bash .hljs-variable,\n.pf .hljs-variable,\n.apache .hljs-tag,\n.apache .hljs-cbracket,\n.tex .hljs-command,\n.tex .hljs-special,\n.erlang_repl .hljs-function_or_atom,\n.asciidoc .hljs-header,\n.markdown .hljs-header,\n.coffeescript .hljs-attribute,\n.tp .hljs-variable {\n color: #800;\n}\n\n.smartquote,\n.hljs-comment,\n.hljs-annotation,\n.diff .hljs-header,\n.hljs-chunk,\n.asciidoc .hljs-blockquote,\n.markdown .hljs-blockquote {\n color: #888;\n}\n\n.hljs-number,\n.hljs-date,\n.hljs-regexp,\n.hljs-literal,\n.hljs-hexcolor,\n.smalltalk .hljs-symbol,\n.smalltalk .hljs-char,\n.go .hljs-constant,\n.hljs-change,\n.lasso .hljs-variable,\n.makefile .hljs-variable,\n.asciidoc .hljs-bullet,\n.markdown .hljs-bullet,\n.asciidoc .hljs-link_url,\n.markdown .hljs-link_url {\n color: #080;\n}\n\n.hljs-label,\n.ruby .hljs-string,\n.hljs-decorator,\n.hljs-filter .hljs-argument,\n.hljs-localvars,\n.hljs-array,\n.hljs-attr_selector,\n.hljs-important,\n.hljs-pseudo,\n.hljs-pi,\n.haml .hljs-bullet,\n.hljs-doctype,\n.hljs-deletion,\n.hljs-envvar,\n.hljs-shebang,\n.apache .hljs-sqbracket,\n.nginx .hljs-built_in,\n.tex .hljs-formula,\n.erlang_repl .hljs-reserved,\n.hljs-prompt,\n.asciidoc .hljs-link_label,\n.markdown .hljs-link_label,\n.vhdl .hljs-attribute,\n.clojure .hljs-attribute,\n.asciidoc .hljs-attribute,\n.lasso .hljs-attribute,\n.coffeescript .hljs-property,\n.hljs-phony {\n color: #88f;\n}\n\n.hljs-keyword,\n.hljs-id,\n.hljs-title,\n.hljs-built_in,\n.css .hljs-tag,\n.hljs-doctag,\n.smalltalk .hljs-class,\n.hljs-winutils,\n.bash .hljs-variable,\n.pf .hljs-variable,\n.apache .hljs-tag,\n.hljs-type,\n.hljs-typename,\n.tex .hljs-command,\n.asciidoc .hljs-strong,\n.markdown .hljs-strong,\n.hljs-request,\n.hljs-status,\n.tp .hljs-data,\n.tp .hljs-io {\n font-weight: bold;\n}\n\n.asciidoc .hljs-emphasis,\n.markdown .hljs-emphasis,\n.tp .hljs-units {\n font-style: italic;\n}\n\n.nginx .hljs-built_in {\n font-weight: normal;\n}\n\n.coffeescript .javascript,\n.javascript .xml,\n.lasso .markup,\n.tex .hljs-formula,\n.xml .javascript,\n.xml .vbscript,\n.xml .css,\n.xml .hljs-cdata {\n opacity: 0.5;\n}\n",
"type": "text/css",
"title": "$:/plugins/tiddlywiki/highlight/highlight.css",
"tags": "[[$:/tags/Stylesheet]]"
},
"$:/plugins/tiddlywiki/highlight/highlightblock.js": {
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/highlight/highlightblock.js\ntype: application/javascript\nmodule-type: widget\n\nWraps up the fenced code blocks parser for highlight and use in TiddlyWiki5\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TYPE_MAPPINGS_BASE = \"$:/config/HighlightPlugin/TypeMappings/\";\n\nvar CodeBlockWidget = require(\"$:/core/modules/widgets/codeblock.js\").codeblock;\n\nvar hljs = require(\"$:/plugins/tiddlywiki/highlight/highlight.js\");\n\nhljs.configure({tabReplace: \" \"});\t\n\nCodeBlockWidget.prototype.postRender = function() {\n\tvar domNode = this.domNodes[0],\n\t\tlanguage = this.language,\n\t\ttiddler = this.wiki.getTiddler(TYPE_MAPPINGS_BASE + language);\n\tif(tiddler) {\n\t\tlanguage = tiddler.fields.text || \"\";\n\t}\n\tif(language && hljs.listLanguages().indexOf(language) !== -1) {\n\t\tdomNode.className = language.toLowerCase() + \" hljs\";\n\t\tif($tw.browser && !domNode.isTiddlyWikiFakeDom) {\n\t\t\thljs.highlightBlock(domNode);\t\t\t\n\t\t} else {\n\t\t\tvar text = domNode.textContent;\n\t\t\tdomNode.children[0].innerHTML = hljs.fixMarkup(hljs.highlight(language,text).value);\n\t\t\t// If we're using the fakedom then specially save the original raw text\n\t\t\tif(domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tdomNode.children[0].textInnerHTML = text;\n\t\t\t}\n\t\t}\n\t}\t\n};\n\n})();\n",
"title": "$:/plugins/tiddlywiki/highlight/highlightblock.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tiddlywiki/highlight/license": {
"title": "$:/plugins/tiddlywiki/highlight/license",
"type": "text/plain",
"text": "Copyright (c) 2006, Ivan Sagalaev\nAll rights reserved.\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of highlight.js nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
},
"$:/plugins/tiddlywiki/highlight/readme": {
"title": "$:/plugins/tiddlywiki/highlight/readme",
"text": "This plugin provides syntax highlighting of code blocks using v8.8.0 of [[highlight.js|https://github.com/isagalaev/highlight.js]] from Ivan Sagalaev.\n\n! Usage\n\nWhen the plugin is installed it automatically applies highlighting to all codeblocks defined with triple backticks or with the CodeBlockWidget.\n\nThe language can optionally be specified after the opening triple braces:\n\n<$codeblock code=\"\"\"```css\n * { margin: 0; padding: 0; } /* micro reset */\n\nhtml { font-size: 62.5%; }\nbody { font-size: 14px; font-size: 1.4rem; } /* =14px */\nh1 { font-size: 24px; font-size: 2.4rem; } /* =24px */\n```\"\"\"/>\n\nIf no language is specified highlight.js will attempt to automatically detect the language.\n\n! Built-in Language Brushes\n\nThe plugin includes support for the following languages (referred to as \"brushes\" by highlight.js):\n\n* apache\n* bash\n* coffeescript\n* cpp\n* cs\n* css\n* diff\n* http\n* ini\n* java\n* javascript\n* json\n* makefile\n* markdown\n* nginx\n* objectivec\n* perl\n* php\n* python\n* ruby\n* sql\n* xml\n\nYou can also specify the language as a MIME content type (eg `text/html` or `text/css`). The mapping is accomplished via mapping tiddlers whose titles start with `$:/config/HighlightPlugin/TypeMappings/`.\n"
},
"$:/plugins/tiddlywiki/highlight/styles": {
"title": "$:/plugins/tiddlywiki/highlight/styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": ".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8;-webkit-text-size-adjust:none}.hljs-comment,.diff .hljs-header,.hljs-javadoc{color:#998;font-style:italic}.hljs-keyword,.css .rule .hljs-keyword,.hljs-winutils,.nginx .hljs-title,.hljs-subst,.hljs-request,.hljs-status{color:#333;font-weight:bold}.hljs-number,.hljs-hexcolor,.ruby .hljs-constant{color:teal}.hljs-string,.hljs-tag .hljs-value,.hljs-phpdoc,.hljs-dartdoc,.tex .hljs-formula{color:#d14}.hljs-title,.hljs-id,.scss .hljs-preprocessor{color:#900;font-weight:bold}.hljs-list .hljs-keyword,.hljs-subst{font-weight:normal}.hljs-class .hljs-title,.hljs-type,.vhdl .hljs-literal,.tex .hljs-command{color:#458;font-weight:bold}.hljs-tag,.hljs-tag .hljs-title,.hljs-rule .hljs-property,.django .hljs-tag .hljs-keyword{color:navy;font-weight:normal}.hljs-attribute,.hljs-variable,.lisp .hljs-body,.hljs-name{color:teal}.hljs-regexp{color:#009926}.hljs-symbol,.ruby .hljs-symbol .hljs-string,.lisp .hljs-keyword,.clojure .hljs-keyword,.scheme .hljs-keyword,.tex .hljs-special,.hljs-prompt{color:#990073}.hljs-built_in{color:#0086b3}.hljs-preprocessor,.hljs-pragma,.hljs-pi,.hljs-doctype,.hljs-shebang,.hljs-cdata{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}"
},
"$:/plugins/tiddlywiki/highlight/usage": {
"title": "$:/plugins/tiddlywiki/highlight/usage",
"text": "! Usage\n\nFenced code blocks can have a language specifier added to trigger highlighting in a specific language. Otherwise heuristics are used to detect the language.\n\n```\n ```js\n var a = b + c; // Highlighted as JavaScript\n ```\n```\n! Adding Themes\n\nYou can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/Stylesheet]]. The available themes can be found on GitHub:\n\nhttps://github.com/isagalaev/highlight.js/tree/master/src/styles\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/katex/katex.min.css": {
"text": ".katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:inline-block;text-align:initial}.katex{font:400 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;white-space:nowrap;text-indent:0}.katex .katex-html{display:inline-block}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .base,.katex .strut{display:inline-block}.katex .mathrm{font-style:normal}.katex .textit{font-style:italic}.katex .mathit{font-family:KaTeX_Math;font-style:italic}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .amsrm,.katex .mathbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr{font-family:KaTeX_Script}.katex .mathsf{font-family:KaTeX_SansSerif}.katex .mainit{font-family:KaTeX_Main;font-style:italic}.katex .mord+.mop{margin-left:.16667em}.katex .mord+.mbin{margin-left:.22222em}.katex .mord+.mrel{margin-left:.27778em}.katex .mop+.mop,.katex .mop+.mord,.katex .mord+.minner{margin-left:.16667em}.katex .mop+.mrel{margin-left:.27778em}.katex .mop+.minner{margin-left:.16667em}.katex .mbin+.minner,.katex .mbin+.mop,.katex .mbin+.mopen,.katex .mbin+.mord{margin-left:.22222em}.katex .mrel+.minner,.katex .mrel+.mop,.katex .mrel+.mopen,.katex .mrel+.mord{margin-left:.27778em}.katex .mclose+.mop{margin-left:.16667em}.katex .mclose+.mbin{margin-left:.22222em}.katex .mclose+.mrel{margin-left:.27778em}.katex .mclose+.minner,.katex .minner+.mop,.katex .minner+.mord,.katex .mpunct+.mclose,.katex .mpunct+.minner,.katex .mpunct+.mop,.katex .mpunct+.mopen,.katex .mpunct+.mord,.katex .mpunct+.mpunct,.katex .mpunct+.mrel{margin-left:.16667em}.katex .minner+.mbin{margin-left:.22222em}.katex .minner+.mrel{margin-left:.27778em}.katex .minner+.minner,.katex .minner+.mopen,.katex .minner+.mpunct{margin-left:.16667em}.katex .mbin.mtight,.katex .mclose.mtight,.katex .minner.mtight,.katex .mop.mtight,.katex .mopen.mtight,.katex .mord.mtight,.katex .mpunct.mtight,.katex .mrel.mtight{margin-left:0}.katex .mclose+.mop.mtight,.katex .minner+.mop.mtight,.katex .mop+.mop.mtight,.katex .mop+.mord.mtight,.katex .mord+.mop.mtight{margin-left:.16667em}.katex .reset-textstyle.textstyle{font-size:1em}.katex .reset-textstyle.scriptstyle{font-size:.7em}.katex .reset-textstyle.scriptscriptstyle{font-size:.5em}.katex .reset-scriptstyle.textstyle{font-size:1.42857em}.katex .reset-scriptstyle.scriptstyle{font-size:1em}.katex .reset-scriptstyle.scriptscriptstyle{font-size:.71429em}.katex .reset-scriptscriptstyle.textstyle{font-size:2em}.katex .reset-scriptscriptstyle.scriptstyle{font-size:1.4em}.katex .reset-scriptscriptstyle.scriptscriptstyle{font-size:1em}.katex .style-wrap{position:relative}.katex .vlist{display:inline-block}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist .baseline-fix{display:inline-table;table-layout:fixed}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{width:100%}.katex .mfrac .frac-line:before{border-bottom-style:solid;border-bottom-width:1px;content:\"\";display:block}.katex .mfrac .frac-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:\"\";display:block;margin-top:-1px}.katex .mspace{display:inline-block}.katex .mspace.negativethinspace{margin-left:-.16667em}.katex .mspace.thinspace{width:.16667em}.katex .mspace.negativemediumspace{margin-left:-.22222em}.katex .mspace.mediumspace{width:.22222em}.katex .mspace.thickspace{width:.27778em}.katex .mspace.sixmuspace{width:.333333em}.katex .mspace.eightmuspace{width:.444444em}.katex .mspace.enspace{width:.5em}.katex .mspace.twelvemuspace{width:.666667em}.katex .mspace.quad{width:1em}.katex .mspace.qquad{width:2em}.katex .llap,.katex .rlap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner{left:0}.katex .katex-logo .a{font-size:.75em;margin-left:-.32em;position:relative;top:-.2em}.katex .katex-logo .t{margin-left:-.23em}.katex .katex-logo .e{margin-left:-.1667em;position:relative;top:.2155em}.katex .katex-logo .x{margin-left:-.125em}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .overline .overline-line,.katex .underline .underline-line{width:100%}.katex .overline .overline-line:before,.katex .underline .underline-line:before{border-bottom-style:solid;border-bottom-width:1px;content:\"\";display:block}.katex .overline .overline-line:after,.katex .underline .underline-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:\"\";display:block;margin-top:-1px}.katex .sqrt>.sqrt-sign{position:relative}.katex .sqrt .sqrt-line{width:100%}.katex .sqrt .sqrt-line:before{border-bottom-style:solid;border-bottom-width:1px;content:\"\";display:block}.katex .sqrt .sqrt-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:\"\";display:block;margin-top:-1px}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer,.katex .sizing{display:inline-block}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:2em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:3.46em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:4.14em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.98em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.47142857em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.95714286em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.55714286em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.875em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.125em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.25em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.5em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.8em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.1625em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.5875em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:3.1125em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.77777778em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.88888889em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.6em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.92222222em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.3em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.76666667em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.7em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.8em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.9em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.2em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.44em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.73em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:2.07em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.49em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.58333333em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.66666667em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.75em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.83333333em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44166667em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.725em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.075em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.48611111em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.55555556em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.625em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.69444444em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.20138889em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.4375em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72916667em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.28901734em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.40462428em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.46242775em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.52023121em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.57803468em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69364162em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83236994em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.19653179em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.43930636em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.24154589em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.33816425em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.38647343em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.43478261em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.48309179em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.57971014em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69565217em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83574879em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20289855em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.20080321em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2811245em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.32128514em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.36144578em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.40160643em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48192771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57831325em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69477912em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8313253em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist>span,.katex .op-limits>.vlist>span{text-align:center}.katex .accent .accent-body>span{width:0}.katex .accent .accent-body.accent-vec>span{position:relative;left:.326em}.katex .mtable .vertical-separator{display:inline-block;margin:0 -.025em;border-right:.05em solid #000}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist{text-align:center}.katex .mtable .col-align-l>.vlist{text-align:left}.katex .mtable .col-align-r>.vlist{text-align:right}",
"type": "text/plain",
"title": "$:/plugins/tiddlywiki/katex/katex.min.css"
},
"$:/plugins/tiddlywiki/katex/katex.min.js": {
"text": "(function(document) {\n(function(e){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=e()}else if(typeof define===\"function\"&&define.amd){define([],e)}else{var t;if(typeof window!==\"undefined\"){t=window}else if(typeof global!==\"undefined\"){t=global}else if(typeof self!==\"undefined\"){t=self}else{t=this}t.katex=e()}})(function(){var e,t,r;return function a(e,t,r){function i(s,l){if(!t[s]){if(!e[s]){var o=typeof require==\"function\"&&require;if(!l&&o)return o(s,!0);if(n)return n(s,!0);var u=new Error(\"Cannot find module '\"+s+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var p=t[s]={exports:{}};e[s][0].call(p.exports,function(t){var r=e[s][1][t];return i(r?r:t)},p,p.exports,a,e,t,r)}return t[s].exports}var n=typeof require==\"function\"&&require;for(var s=0;s<r.length;s++)i(r[s]);return i}({1:[function(e,t,r){var a=e(\"./src/ParseError\");var i=e(\"./src/Settings\");var n=e(\"./src/buildTree\");var s=e(\"./src/parseTree\");var l=e(\"./src/utils\");var o=function(e,t,r){l.clearNode(t);var a=new i(r);var o=s(e,a);var u=n(o,e,a).toNode();t.appendChild(u)};if(typeof document!==\"undefined\"){if(document.compatMode!==\"CSS1Compat\"){typeof console!==\"undefined\"&&console.warn(\"Warning: KaTeX doesn't work in quirks mode. Make sure your \"+\"website has a suitable doctype.\");o=function(){throw new a(\"KaTeX doesn't work in quirks mode.\")}}}var u=function(e,t){var r=new i(t);var a=s(e,r);return n(a,e,r).toMarkup()};var p=function(e,t){var r=new i(t);return s(e,r)};t.exports={render:o,renderToString:u,__parse:p,ParseError:a}},{\"./src/ParseError\":6,\"./src/Settings\":8,\"./src/buildTree\":13,\"./src/parseTree\":22,\"./src/utils\":25}],2:[function(e,t,r){\"use strict\";function a(e){if(!e.__matchAtRelocatable){var t=e.source+\"|()\";var r=\"g\"+(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\");e.__matchAtRelocatable=new RegExp(t,r)}return e.__matchAtRelocatable}function i(e,t,r){if(e.global||e.sticky){throw new Error(\"matchAt(...): Only non-global regexes are supported\")}var i=a(e);i.lastIndex=r;var n=i.exec(t);if(n[n.length-1]==null){n.length=n.length-1;return n}else{return null}}t.exports=i},{}],3:[function(e,t,r){var a=e(\"match-at\");var i=e(\"./ParseError\");function n(e){this.input=e;this.pos=0}function s(e,t,r,a){this.text=e;this.start=t;this.end=r;this.lexer=a}s.prototype.range=function(e,t){if(e.lexer!==this.lexer){return new s(t)}return new s(t,this.start,e.end,this.lexer)};var l=new RegExp(\"([ \\r\\n\t]+)|\"+\"([!-\\\\[\\\\]-\\u2027\\u202a-\\ud7ff\\uf900-\\uffff]\"+\"|[\\ud800-\\udbff][\\udc00-\\udfff]\"+\"|\\\\\\\\(?:[a-zA-Z]+|[^\\ud800-\\udfff])\"+\")\");n.prototype.lex=function(){var e=this.input;var t=this.pos;if(t===e.length){return new s(\"EOF\",t,t,this)}var r=a(l,e,t);if(r===null){throw new i(\"Unexpected character: '\"+e[t]+\"'\",new s(e[t],t,t+1,this))}var n=r[2]||\" \";var o=this.pos;this.pos+=r[0].length;var u=this.pos;return new s(n,o,u,this)};t.exports=n},{\"./ParseError\":6,\"match-at\":2}],4:[function(e,t,r){var a=e(\"./Lexer\");function i(e,t){this.lexer=new a(e);this.macros=t;this.stack=[];this.discardedWhiteSpace=[]}i.prototype.nextToken=function(){for(;;){if(this.stack.length===0){this.stack.push(this.lexer.lex())}var e=this.stack.pop();var t=e.text;if(!(t.charAt(0)===\"\\\\\"&&this.macros.hasOwnProperty(t))){return e}var r=this.macros[t];if(typeof r===\"string\"){var i=new a(r);r=[];var n=i.lex();while(n.text!==\"EOF\"){r.push(n);n=i.lex()}r.reverse();this.macros[t]=r}this.stack=this.stack.concat(r)}};i.prototype.get=function(e){this.discardedWhiteSpace=[];var t=this.nextToken();if(e){while(t.text===\" \"){this.discardedWhiteSpace.push(t);t=this.nextToken()}}return t};i.prototype.unget=function(e){this.stack.push(e);while(this.discardedWhiteSpace.length!==0){this.stack.push(this.discardedWhiteSpace.pop())}};t.exports=i},{\"./Lexer\":3}],5:[function(e,t,r){function a(e){this.style=e.style;this.color=e.color;this.size=e.size;this.phantom=e.phantom;this.font=e.font;if(e.parentStyle===undefined){this.parentStyle=e.style}else{this.parentStyle=e.parentStyle}if(e.parentSize===undefined){this.parentSize=e.size}else{this.parentSize=e.parentSize}}a.prototype.extend=function(e){var t={style:this.style,size:this.size,color:this.color,parentStyle:this.style,parentSize:this.size,phantom:this.phantom,font:this.font};for(var r in e){if(e.hasOwnProperty(r)){t[r]=e[r]}}return new a(t)};a.prototype.withStyle=function(e){return this.extend({style:e})};a.prototype.withSize=function(e){return this.extend({size:e})};a.prototype.withColor=function(e){return this.extend({color:e})};a.prototype.withPhantom=function(){return this.extend({phantom:true})};a.prototype.withFont=function(e){return this.extend({font:e||this.font})};a.prototype.reset=function(){return this.extend({})};var i={\"katex-blue\":\"#6495ed\",\"katex-orange\":\"#ffa500\",\"katex-pink\":\"#ff00af\",\"katex-red\":\"#df0030\",\"katex-green\":\"#28ae7b\",\"katex-gray\":\"gray\",\"katex-purple\":\"#9d38bd\",\"katex-blueA\":\"#ccfaff\",\"katex-blueB\":\"#80f6ff\",\"katex-blueC\":\"#63d9ea\",\"katex-blueD\":\"#11accd\",\"katex-blueE\":\"#0c7f99\",\"katex-tealA\":\"#94fff5\",\"katex-tealB\":\"#26edd5\",\"katex-tealC\":\"#01d1c1\",\"katex-tealD\":\"#01a995\",\"katex-tealE\":\"#208170\",\"katex-greenA\":\"#b6ffb0\",\"katex-greenB\":\"#8af281\",\"katex-greenC\":\"#74cf70\",\"katex-greenD\":\"#1fab54\",\"katex-greenE\":\"#0d923f\",\"katex-goldA\":\"#ffd0a9\",\"katex-goldB\":\"#ffbb71\",\"katex-goldC\":\"#ff9c39\",\"katex-goldD\":\"#e07d10\",\"katex-goldE\":\"#a75a05\",\"katex-redA\":\"#fca9a9\",\"katex-redB\":\"#ff8482\",\"katex-redC\":\"#f9685d\",\"katex-redD\":\"#e84d39\",\"katex-redE\":\"#bc2612\",\"katex-maroonA\":\"#ffbde0\",\"katex-maroonB\":\"#ff92c6\",\"katex-maroonC\":\"#ed5fa6\",\"katex-maroonD\":\"#ca337c\",\"katex-maroonE\":\"#9e034e\",\"katex-purpleA\":\"#ddd7ff\",\"katex-purpleB\":\"#c6b9fc\",\"katex-purpleC\":\"#aa87ff\",\"katex-purpleD\":\"#7854ab\",\"katex-purpleE\":\"#543b78\",\"katex-mintA\":\"#f5f9e8\",\"katex-mintB\":\"#edf2df\",\"katex-mintC\":\"#e0e5cc\",\"katex-grayA\":\"#f6f7f7\",\"katex-grayB\":\"#f0f1f2\",\"katex-grayC\":\"#e3e5e6\",\"katex-grayD\":\"#d6d8da\",\"katex-grayE\":\"#babec2\",\"katex-grayF\":\"#888d93\",\"katex-grayG\":\"#626569\",\"katex-grayH\":\"#3b3e40\",\"katex-grayI\":\"#21242c\",\"katex-kaBlue\":\"#314453\",\"katex-kaGreen\":\"#71B307\"};a.prototype.getColor=function(){if(this.phantom){return\"transparent\"}else{return i[this.color]||this.color}};t.exports=a},{}],6:[function(e,t,r){function a(e,t){var r=\"KaTeX parse error: \"+e;var i;var n;if(t&&t.lexer&&t.start<=t.end){var s=t.lexer.input;i=t.start;n=t.end;if(i===s.length){r+=\" at end of input: \"}else{r+=\" at position \"+(i+1)+\": \"}var l=s.slice(i,n).replace(/[^]/g,\"$&\\u0332\");var o;if(i>15){o=\"\\u2026\"+s.slice(i-15,i)}else{o=s.slice(0,i)}var u;if(n+15<s.length){u=s.slice(n,n+15)+\"\\u2026\"}else{u=s.slice(n)}r+=o+l+u}var p=new Error(r);p.name=\"ParseError\";p.__proto__=a.prototype;p.position=i;return p}a.prototype.__proto__=Error.prototype;t.exports=a},{}],7:[function(e,t,r){var a=e(\"./functions\");var i=e(\"./environments\");var n=e(\"./MacroExpander\");var s=e(\"./symbols\");var l=e(\"./utils\");var o=e(\"./unicodeRegexes\").cjkRegex;var u=e(\"./parseData\");var p=e(\"./ParseError\");function h(e,t){this.gullet=new n(e,t.macros);this.settings=t;this.leftrightDepth=0}var c=u.ParseNode;function m(e,t,r){this.result=e;this.isFunction=t;this.token=r}h.prototype.expect=function(e,t){if(this.nextToken.text!==e){throw new p(\"Expected '\"+e+\"', got '\"+this.nextToken.text+\"'\",this.nextToken)}if(t!==false){this.consume()}};h.prototype.consume=function(){this.nextToken=this.gullet.get(this.mode===\"math\")};h.prototype.switchMode=function(e){this.gullet.unget(this.nextToken);this.mode=e;this.consume()};h.prototype.parse=function(){this.mode=\"math\";this.consume();var e=this.parseInput();return e};h.prototype.parseInput=function(){var e=this.parseExpression(false);this.expect(\"EOF\",false);return e};var f=[\"}\",\"\\\\end\",\"\\\\right\",\"&\",\"\\\\\\\\\",\"\\\\cr\"];h.prototype.parseExpression=function(e,t){var r=[];while(true){var i=this.nextToken;if(f.indexOf(i.text)!==-1){break}if(t&&i.text===t){break}if(e&&a[i.text]&&a[i.text].infix){break}var n=this.parseAtom();if(!n){if(!this.settings.throwOnError&&i.text[0]===\"\\\\\"){var s=this.handleUnsupportedCmd();r.push(s);continue}break}r.push(n)}return this.handleInfixNodes(r)};h.prototype.handleInfixNodes=function(e){var t=-1;var r;for(var a=0;a<e.length;a++){var i=e[a];if(i.type===\"infix\"){if(t!==-1){throw new p(\"only one infix operator per group\",i.value.token)}t=a;r=i.value.replaceWith}}if(t!==-1){var n;var s;var l=e.slice(0,t);var o=e.slice(t+1);if(l.length===1&&l[0].type===\"ordgroup\"){n=l[0]}else{n=new c(\"ordgroup\",l,this.mode)}if(o.length===1&&o[0].type===\"ordgroup\"){s=o[0]}else{s=new c(\"ordgroup\",o,this.mode)}var u=this.callFunction(r,[n,s],null);return[new c(u.type,u,this.mode)]}else{return e}};var v=1;h.prototype.handleSupSubscript=function(e){var t=this.nextToken;var r=t.text;this.consume();var i=this.parseGroup();if(!i){if(!this.settings.throwOnError&&this.nextToken.text[0]===\"\\\\\"){return this.handleUnsupportedCmd()}else{throw new p(\"Expected group after '\"+r+\"'\",t)}}else if(i.isFunction){var n=a[i.result].greediness;if(n>v){return this.parseFunction(i)}else{throw new p(\"Got function '\"+i.result+\"' with no arguments \"+\"as \"+e,t)}}else{return i.result}};h.prototype.handleUnsupportedCmd=function(){var e=this.nextToken.text;var t=[];for(var r=0;r<e.length;r++){t.push(new c(\"textord\",e[r],\"text\"))}var a=new c(\"text\",{body:t,type:\"text\"},this.mode);var i=new c(\"color\",{color:this.settings.errorColor,value:[a],type:\"color\"},this.mode);this.consume();return i};h.prototype.parseAtom=function(){var e=this.parseImplicitGroup();if(this.mode===\"text\"){return e}var t;var r;while(true){var a=this.nextToken;if(a.text===\"\\\\limits\"||a.text===\"\\\\nolimits\"){if(!e||e.type!==\"op\"){throw new p(\"Limit controls must follow a math operator\",a)}else{var i=a.text===\"\\\\limits\";e.value.limits=i;e.value.alwaysHandleSupSub=true}this.consume()}else if(a.text===\"^\"){if(t){throw new p(\"Double superscript\",a)}t=this.handleSupSubscript(\"superscript\")}else if(a.text===\"_\"){if(r){throw new p(\"Double subscript\",a)}r=this.handleSupSubscript(\"subscript\")}else if(a.text===\"'\"){var n=new c(\"textord\",\"\\\\prime\",this.mode);var s=[n];this.consume();while(this.nextToken.text===\"'\"){s.push(n);this.consume()}t=new c(\"ordgroup\",s,this.mode)}else{break}}if(t||r){return new c(\"supsub\",{base:e,sup:t,sub:r},this.mode)}else{return e}};var d=[\"\\\\tiny\",\"\\\\scriptsize\",\"\\\\footnotesize\",\"\\\\small\",\"\\\\normalsize\",\"\\\\large\",\"\\\\Large\",\"\\\\LARGE\",\"\\\\huge\",\"\\\\Huge\"];var g=[\"\\\\displaystyle\",\"\\\\textstyle\",\"\\\\scriptstyle\",\"\\\\scriptscriptstyle\"];h.prototype.parseImplicitGroup=function(){var e=this.parseSymbol();if(e==null){return this.parseFunction()}var t=e.result;var r;if(t===\"\\\\left\"){var a=this.parseFunction(e);++this.leftrightDepth;r=this.parseExpression(false);--this.leftrightDepth;this.expect(\"\\\\right\",false);var n=this.parseFunction();return new c(\"leftright\",{body:r,left:a.value.value,right:n.value.value},this.mode)}else if(t===\"\\\\begin\"){var s=this.parseFunction(e);var o=s.value.name;if(!i.hasOwnProperty(o)){throw new p(\"No such environment: \"+o,s.value.nameGroup)}var u=i[o];var h=this.parseArguments(\"\\\\begin{\"+o+\"}\",u);var m={mode:this.mode,envName:o,parser:this,positions:h.pop()};var f=u.handler(m,h);this.expect(\"\\\\end\",false);var v=this.nextToken;var y=this.parseFunction();if(y.value.name!==o){throw new p(\"Mismatch: \\\\begin{\"+o+\"} matched \"+\"by \\\\end{\"+y.value.name+\"}\",v)}f.position=y.position;return f}else if(l.contains(d,t)){r=this.parseExpression(false);return new c(\"sizing\",{size:\"size\"+(l.indexOf(d,t)+1),value:r},this.mode)}else if(l.contains(g,t)){r=this.parseExpression(true);return new c(\"styling\",{style:t.slice(1,t.length-5),value:r},this.mode)}else{return this.parseFunction(e)}};h.prototype.parseFunction=function(e){if(!e){e=this.parseGroup()}if(e){if(e.isFunction){var t=e.result;var r=a[t];if(this.mode===\"text\"&&!r.allowedInText){throw new p(\"Can't use function '\"+t+\"' in text mode\",e.token)}var i=this.parseArguments(t,r);var n=e.token;var s=this.callFunction(t,i,i.pop(),n);return new c(s.type,s,this.mode)}else{return e.result}}else{return null}};h.prototype.callFunction=function(e,t,r,i){var n={funcName:e,parser:this,positions:r,token:i};return a[e].handler(n,t)};h.prototype.parseArguments=function(e,t){var r=t.numArgs+t.numOptionalArgs;if(r===0){return[[this.pos]]}var i=t.greediness;var n=[this.pos];var s=[];for(var l=0;l<r;l++){var o=this.nextToken;var u=t.argTypes&&t.argTypes[l];var h;if(l<t.numOptionalArgs){if(u){h=this.parseGroupOfType(u,true)}else{h=this.parseGroup(true)}if(!h){s.push(null);n.push(this.pos);continue}}else{if(u){h=this.parseGroupOfType(u)}else{h=this.parseGroup()}if(!h){if(!this.settings.throwOnError&&this.nextToken.text[0]===\"\\\\\"){h=new m(this.handleUnsupportedCmd(this.nextToken.text),false)}else{throw new p(\"Expected group after '\"+e+\"'\",o)}}}var c;if(h.isFunction){var f=a[h.result].greediness;if(f>i){c=this.parseFunction(h)}else{throw new p(\"Got function '\"+h.result+\"' as \"+\"argument to '\"+e+\"'\",o)}}else{c=h.result}s.push(c);n.push(this.pos)}s.push(n);return s};h.prototype.parseGroupOfType=function(e,t){var r=this.mode;if(e===\"original\"){e=r}if(e===\"color\"){return this.parseColorGroup(t)}if(e===\"size\"){return this.parseSizeGroup(t)}this.switchMode(e);if(e===\"text\"){while(this.nextToken.text===\" \"){this.consume()}}var a=this.parseGroup(t);this.switchMode(r);return a};h.prototype.parseStringGroup=function(e,t){if(t&&this.nextToken.text!==\"[\"){return null}var r=this.mode;this.mode=\"text\";this.expect(t?\"[\":\"{\");var a=\"\";var i=this.nextToken;var n=i;while(this.nextToken.text!==(t?\"]\":\"}\")){if(this.nextToken.text===\"EOF\"){throw new p(\"Unexpected end of input in \"+e,i.range(this.nextToken,a))}n=this.nextToken;a+=n.text;this.consume()}this.mode=r;this.expect(t?\"]\":\"}\");return i.range(n,a)};h.prototype.parseRegexGroup=function(e,t){var r=this.mode;this.mode=\"text\";var a=this.nextToken;var i=a;var n=\"\";while(this.nextToken.text!==\"EOF\"&&e.test(n+this.nextToken.text)){i=this.nextToken;n+=i.text;this.consume()}if(n===\"\"){throw new p(\"Invalid \"+t+\": '\"+a.text+\"'\",a)}this.mode=r;return a.range(i,n)};h.prototype.parseColorGroup=function(e){var t=this.parseStringGroup(\"color\",e);if(!t){return null}var r=/^(#[a-z0-9]+|[a-z]+)$/i.exec(t.text);if(!r){throw new p(\"Invalid color: '\"+t.text+\"'\",t)}return new m(new c(\"color\",r[0],this.mode),false)};h.prototype.parseSizeGroup=function(e){var t;if(!e&&this.nextToken.text!==\"{\"){t=this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2}$/,\"size\")}else{t=this.parseStringGroup(\"size\",e)}if(!t){return null}var r=/([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(t.text);if(!r){throw new p(\"Invalid size: '\"+t.text+\"'\",t)}var a={number:+(r[1]+r[2]),unit:r[3]};if(a.unit!==\"em\"&&a.unit!==\"ex\"&&a.unit!==\"mu\"){throw new p(\"Invalid unit: '\"+a.unit+\"'\",t)}return new m(new c(\"color\",a,this.mode),false)};h.prototype.parseGroup=function(e){var t=this.nextToken;if(this.nextToken.text===(e?\"[\":\"{\")){this.consume();var r=this.parseExpression(false,e?\"]\":null);var a=this.nextToken;this.expect(e?\"]\":\"}\");if(this.mode===\"text\"){this.formLigatures(r)}return new m(new c(\"ordgroup\",r,this.mode,t,a),false)}else{return e?null:this.parseSymbol()}};h.prototype.formLigatures=function(e){var t;var r=e.length-1;for(t=0;t<r;++t){var a=e[t];var i=a.value;if(i===\"-\"&&e[t+1].value===\"-\"){if(t+1<r&&e[t+2].value===\"-\"){e.splice(t,3,new c(\"textord\",\"---\",\"text\",a,e[t+2]));r-=2}else{e.splice(t,2,new c(\"textord\",\"--\",\"text\",a,e[t+1]));r-=1}}if((i===\"'\"||i===\"`\")&&e[t+1].value===i){e.splice(t,2,new c(\"textord\",i+i,\"text\",a,e[t+1]));r-=1}}};h.prototype.parseSymbol=function(){var e=this.nextToken;if(a[e.text]){this.consume();return new m(e.text,true,e)}else if(s[this.mode][e.text]){this.consume();return new m(new c(s[this.mode][e.text].group,e.text,this.mode,e),false,e)}else if(this.mode===\"text\"&&o.test(e.text)){this.consume();return new m(new c(\"textord\",e.text,this.mode,e),false,e)}else{return null}};h.prototype.ParseNode=c;t.exports=h},{\"./MacroExpander\":4,\"./ParseError\":6,\"./environments\":16,\"./functions\":19,\"./parseData\":21,\"./symbols\":23,\"./unicodeRegexes\":24,\"./utils\":25}],8:[function(e,t,r){function a(e,t){return e===undefined?t:e}function i(e){e=e||{};this.displayMode=a(e.displayMode,false);this.throwOnError=a(e.throwOnError,true);this.errorColor=a(e.errorColor,\"#cc0000\");this.macros=e.macros||{}}t.exports=i},{}],9:[function(e,t,r){var a=e(\"./fontMetrics.js\").sigmas;var i=[{},{},{}];var n;for(var s in a){if(a.hasOwnProperty(s)){for(n=0;n<3;n++){i[n][s]=a[s][n]}}}for(n=0;n<3;n++){i[n].emPerEx=a.xHeight[n]/a.quad[n]}function l(e,t,r,a){this.id=e;this.size=t;this.cramped=a;this.sizeMultiplier=r;this.metrics=i[t>0?t-1:0]}l.prototype.sup=function(){return y[x[this.id]]};l.prototype.sub=function(){return y[b[this.id]]};l.prototype.fracNum=function(){return y[w[this.id]]};l.prototype.fracDen=function(){return y[k[this.id]]};l.prototype.cramp=function(){return y[z[this.id]]};l.prototype.cls=function(){return d[this.size]+(this.cramped?\" cramped\":\" uncramped\")};l.prototype.reset=function(){return g[this.size]};l.prototype.isTight=function(){return this.size>=2};var o=0;var u=1;var p=2;var h=3;var c=4;var m=5;var f=6;var v=7;var d=[\"displaystyle textstyle\",\"textstyle\",\"scriptstyle\",\"scriptscriptstyle\"];var g=[\"reset-textstyle\",\"reset-textstyle\",\"reset-scriptstyle\",\"reset-scriptscriptstyle\"];var y=[new l(o,0,1,false),new l(u,0,1,true),new l(p,1,1,false),new l(h,1,1,true),new l(c,2,.7,false),new l(m,2,.7,true),new l(f,3,.5,false),new l(v,3,.5,true)];var x=[c,m,c,m,f,v,f,v];var b=[m,m,m,m,v,v,v,v];var w=[p,h,c,m,f,v,f,v];var k=[h,h,m,m,v,v,v,v];var z=[u,u,h,h,m,m,v,v];t.exports={DISPLAY:y[o],TEXT:y[p],SCRIPT:y[c],SCRIPTSCRIPT:y[f]}},{\"./fontMetrics.js\":17}],10:[function(e,t,r){var a=e(\"./domTree\");var i=e(\"./fontMetrics\");var n=e(\"./symbols\");var s=e(\"./utils\");var l=[\"\\\\Gamma\",\"\\\\Delta\",\"\\\\Theta\",\"\\\\Lambda\",\"\\\\Xi\",\"\\\\Pi\",\"\\\\Sigma\",\"\\\\Upsilon\",\"\\\\Phi\",\"\\\\Psi\",\"\\\\Omega\"];var o=[\"\\u0131\",\"\\u0237\",\"\\xa3\"];var u=function(e,t,r,s,l){if(n[r][e]&&n[r][e].replace){e=n[r][e].replace}var o=i.getCharacterMetrics(e,t);var u;if(o){var p=o.italic;if(r===\"text\"){p=0}u=new a.symbolNode(e,o.height,o.depth,p,o.skew,l)}else{typeof console!==\"undefined\"&&console.warn(\"No character metrics for '\"+e+\"' in style '\"+t+\"'\");u=new a.symbolNode(e,0,0,0,0,l)}if(s){if(s.style.isTight()){u.classes.push(\"mtight\")}if(s.getColor()){u.style.color=s.getColor()}}return u};var p=function(e,t,r,a){if(e===\"\\\\\"||n[t][e].font===\"main\"){return u(e,\"Main-Regular\",t,r,a)}else{return u(e,\"AMS-Regular\",t,r,a.concat([\"amsrm\"]))}};var h=function(e,t,r,a,i){if(i===\"mathord\"){return c(e,t,r,a)}else if(i===\"textord\"){return u(e,\"Main-Regular\",t,r,a.concat([\"mathrm\"]))}else{throw new Error(\"unexpected type: \"+i+\" in mathDefault\")}};var c=function(e,t,r,a){if(/[0-9]/.test(e.charAt(0))||s.contains(o,e)||s.contains(l,e)){return u(e,\"Main-Italic\",t,r,a.concat([\"mainit\"]))}else{return u(e,\"Math-Italic\",t,r,a.concat([\"mathit\"]))}};var m=function(e,t,r){var a=e.mode;var l=e.value;if(n[a][l]&&n[a][l].replace){l=n[a][l].replace}var p=[\"mord\"];var m=t.font;if(m){if(m===\"mathit\"||s.contains(o,l)){return c(l,a,t,p)}else{var f=k[m].fontName;if(i.getCharacterMetrics(l,f)){return u(l,f,a,t,p.concat([m]))}else{return h(l,a,t,p,r)}}}else{return h(l,a,t,p,r)}};var f=function(e){var t=0;var r=0;var a=0;if(e.children){for(var i=0;i<e.children.length;i++){if(e.children[i].height>t){t=e.children[i].height}if(e.children[i].depth>r){r=e.children[i].depth}if(e.children[i].maxFontSize>a){a=e.children[i].maxFontSize}}}e.height=t;e.depth=r;e.maxFontSize=a};var v=function(e,t,r){var i=new a.span(e,t,r);f(i);return i};var d=function(e,t){e.children=t.concat(e.children);f(e)};var g=function(e){var t=new a.documentFragment(e);f(t);return t};var y=function(e,t){var r=v([],[new a.symbolNode(\"\\u200b\")]);r.style.fontSize=t/e.style.sizeMultiplier+\"em\";var i=v([\"fontsize-ensurer\",\"reset-\"+e.size,\"size5\"],[r]);return i};var x=function(e,t,r,i){var n;var s;var l;if(t===\"individualShift\"){var o=e;e=[o[0]];n=-o[0].shift-o[0].elem.depth;s=n;for(l=1;l<o.length;l++){var u=-o[l].shift-s-o[l].elem.depth;var p=u-(o[l-1].elem.height+o[l-1].elem.depth);s=s+u;e.push({type:\"kern\",size:p});e.push(o[l])}}else if(t===\"top\"){var h=r;for(l=0;l<e.length;l++){if(e[l].type===\"kern\"){h-=e[l].size}else{h-=e[l].elem.height+e[l].elem.depth}}n=h}else if(t===\"bottom\"){n=-r}else if(t===\"shift\"){n=-e[0].elem.depth-r}else if(t===\"firstBaseline\"){n=-e[0].elem.depth}else{n=0}var c=0;for(l=0;l<e.length;l++){if(e[l].type===\"elem\"){c=Math.max(c,e[l].elem.maxFontSize)}}var m=y(i,c);var f=[];s=n;for(l=0;l<e.length;l++){if(e[l].type===\"kern\"){s+=e[l].size}else{var d=e[l].elem;var g=-d.depth-s;s+=d.height+d.depth;var x=v([],[m,d]);x.height-=g;x.depth+=g;x.style.top=g+\"em\";f.push(x)}}var b=v([\"baseline-fix\"],[m,new a.symbolNode(\"\\u200b\")]);f.push(b);var w=v([\"vlist\"],f);w.height=Math.max(s,w.height);w.depth=Math.max(-n,w.depth);return w};var b={size1:.5,size2:.7,size3:.8,size4:.9,size5:1,size6:1.2,size7:1.44,size8:1.73,size9:2.07,size10:2.49};var w={\"\\\\qquad\":{size:\"2em\",className:\"qquad\"},\"\\\\quad\":{size:\"1em\",className:\"quad\"},\"\\\\enspace\":{size:\"0.5em\",className:\"enspace\"},\"\\\\;\":{size:\"0.277778em\",className:\"thickspace\"},\"\\\\:\":{size:\"0.22222em\",className:\"mediumspace\"},\"\\\\,\":{size:\"0.16667em\",className:\"thinspace\"},\"\\\\!\":{size:\"-0.16667em\",className:\"negativethinspace\"}};var k={mathbf:{variant:\"bold\",fontName:\"Main-Bold\"},mathrm:{variant:\"normal\",fontName:\"Main-Regular\"},textit:{variant:\"italic\",fontName:\"Main-Italic\"},mathbb:{variant:\"double-struck\",fontName:\"AMS-Regular\"},mathcal:{variant:\"script\",fontName:\"Caligraphic-Regular\"},mathfrak:{variant:\"fraktur\",fontName:\"Fraktur-Regular\"},mathscr:{variant:\"script\",fontName:\"Script-Regular\"},mathsf:{variant:\"sans-serif\",fontName:\"SansSerif-Regular\"},mathtt:{variant:\"monospace\",fontName:\"Typewriter-Regular\"}};t.exports={fontMap:k,makeSymbol:u,mathsym:p,makeSpan:v,makeFragment:g,makeVList:x,makeOrd:m,prependChildren:d,sizingMultiplier:b,spacingFunctions:w}},{\"./domTree\":15,\"./fontMetrics\":17,\"./symbols\":23,\"./utils\":25}],11:[function(e,t,r){var a=e(\"./ParseError\");var i=e(\"./Style\");var n=e(\"./buildCommon\");var s=e(\"./delimiter\");var l=e(\"./domTree\");var o=e(\"./fontMetrics\");var u=e(\"./utils\");var p=n.makeSpan;var h=function(e){return e instanceof l.span&&e.classes[0]===\"mspace\"};var c=function(e){return e&&e.classes[0]===\"mbin\"};var m=function(e,t){if(e){return u.contains([\"mbin\",\"mopen\",\"mrel\",\"mop\",\"mpunct\"],e.classes[0])}else{return t}};var f=function(e,t){if(e){return u.contains([\"mrel\",\"mclose\",\"mpunct\"],e.classes[0])}else{return t}};var v=function(e,t,r){var a=[];for(var i=0;i<e.length;i++){var s=e[i];var o=z(s,t);if(o instanceof l.documentFragment){Array.prototype.push.apply(a,o.children)}else{a.push(o)}}var u=null;for(i=0;i<a.length;i++){if(h(a[i])){u=u||[];u.push(a[i]);a.splice(i,1);i--}else if(u){if(a[i]instanceof l.symbolNode){a[i]=p([].concat(a[i].classes),[a[i]])}n.prependChildren(a[i],u);u=null}}if(u){Array.prototype.push.apply(a,u)}for(i=0;i<a.length;i++){if(c(a[i])&&(m(a[i-1],r)||f(a[i+1],r))){a[i].classes[0]=\"mord\"}}return a};var d=function(e){if(e instanceof l.documentFragment){if(e.children.length){return d(e.children[e.children.length-1])}}else{if(u.contains([\"mord\",\"mop\",\"mbin\",\"mrel\",\"mopen\",\"mclose\",\"mpunct\",\"minner\"],e.classes[0])){return e.classes[0]}}return null};var g=function(e,t){if(!e){return false}else if(e.type===\"op\"){return e.value.limits&&(t.style.size===i.DISPLAY.size||e.value.alwaysHandleSupSub)}else if(e.type===\"accent\"){return x(e.value.base)}else{return null}};var y=function(e){if(!e){return false}else if(e.type===\"ordgroup\"){if(e.value.length===1){return y(e.value[0])}else{return e}}else if(e.type===\"color\"){if(e.value.value.length===1){return y(e.value.value[0])}else{return e}}else if(e.type===\"font\"){return y(e.value.body)}else{return e}};var x=function(e){var t=y(e);return t.type===\"mathord\"||t.type===\"textord\"||t.type===\"bin\"||t.type===\"rel\"||t.type===\"inner\"||t.type===\"open\"||t.type===\"close\"||t.type===\"punct\"};var b=function(e,t){return p(t.concat([\"sizing\",\"reset-\"+e.size,\"size5\",e.style.reset(),i.TEXT.cls(),\"nulldelimiter\"]))};var w={};w.mathord=function(e,t){return n.makeOrd(e,t,\"mathord\")};w.textord=function(e,t){return n.makeOrd(e,t,\"textord\")};w.bin=function(e,t){return n.mathsym(e.value,e.mode,t,[\"mbin\"])};w.rel=function(e,t){return n.mathsym(e.value,e.mode,t,[\"mrel\"])};w.open=function(e,t){return n.mathsym(e.value,e.mode,t,[\"mopen\"])};w.close=function(e,t){return n.mathsym(e.value,e.mode,t,[\"mclose\"])};w.inner=function(e,t){return n.mathsym(e.value,e.mode,t,[\"minner\"])};w.punct=function(e,t){return n.mathsym(e.value,e.mode,t,[\"mpunct\"])};w.ordgroup=function(e,t){return p([\"mord\",t.style.cls()],v(e.value,t.reset(),true),t)};w.text=function(e,t){var r=t.withFont(e.value.style);var a=v(e.value.body,r,true);for(var i=0;i<a.length-1;i++){if(a[i].tryCombine(a[i+1])){a.splice(i+1,1);i--}}return p([\"mord\",\"text\",r.style.cls()],a,r)};w.color=function(e,t){var r=v(e.value.value,t.withColor(e.value.color),false);return new n.makeFragment(r)};w.supsub=function(e,t){if(g(e.value.base,t)){return w[e.value.base.type](e,t)}var r=z(e.value.base,t.reset());var a;var s;var u;var h;var c=t.style;var m;if(e.value.sup){m=t.withStyle(c.sup());u=z(e.value.sup,m);a=p([c.reset(),c.sup().cls()],[u],m)}if(e.value.sub){m=t.withStyle(c.sub());h=z(e.value.sub,m);s=p([c.reset(),c.sub().cls()],[h],m)}var f;var v;if(x(e.value.base)){f=0;v=0}else{f=r.height-c.metrics.supDrop;v=r.depth+c.metrics.subDrop}var y;if(c===i.DISPLAY){y=c.metrics.sup1}else if(c.cramped){y=c.metrics.sup3}else{y=c.metrics.sup2}var b=i.TEXT.sizeMultiplier*c.sizeMultiplier;var k=.5/o.metrics.ptPerEm/b+\"em\";var S;if(!e.value.sup){v=Math.max(v,c.metrics.sub1,h.height-.8*c.metrics.xHeight);S=n.makeVList([{type:\"elem\",elem:s}],\"shift\",v,t);S.children[0].style.marginRight=k;if(r instanceof l.symbolNode){S.children[0].style.marginLeft=-r.italic+\"em\"}}else if(!e.value.sub){f=Math.max(f,y,u.depth+.25*c.metrics.xHeight);S=n.makeVList([{type:\"elem\",elem:a}],\"shift\",-f,t);S.children[0].style.marginRight=k}else{f=Math.max(f,y,u.depth+.25*c.metrics.xHeight);v=Math.max(v,c.metrics.sub2);var M=o.metrics.defaultRuleThickness;if(f-u.depth-(h.height-v)<4*M){v=4*M-(f-u.depth)+h.height;var T=.8*c.metrics.xHeight-(f-u.depth);if(T>0){f+=T;v-=T}}S=n.makeVList([{type:\"elem\",elem:s,shift:v},{type:\"elem\",elem:a,shift:-f}],\"individualShift\",null,t);if(r instanceof l.symbolNode){S.children[0].style.marginLeft=-r.italic+\"em\"}S.children[0].style.marginRight=k;S.children[1].style.marginRight=k}var A=d(r)||\"mord\";return p([A],[r,p([\"msupsub\"],[S])],t)};w.genfrac=function(e,t){var r=t.style;if(e.value.size===\"display\"){r=i.DISPLAY}else if(e.value.size===\"text\"){r=i.TEXT}var a=r.fracNum();var l=r.fracDen();var u;u=t.withStyle(a);var h=z(e.value.numer,u);var c=p([r.reset(),a.cls()],[h],u);u=t.withStyle(l);var m=z(e.value.denom,u);var f=p([r.reset(),l.cls()],[m],u);var v;if(e.value.hasBarLine){v=o.metrics.defaultRuleThickness/t.style.sizeMultiplier}else{v=0}var d;var g;var y;if(r.size===i.DISPLAY.size){d=r.metrics.num1;if(v>0){g=3*v}else{g=7*o.metrics.defaultRuleThickness}y=r.metrics.denom1}else{if(v>0){d=r.metrics.num2;g=v}else{d=r.metrics.num3;g=3*o.metrics.defaultRuleThickness}y=r.metrics.denom2}var x;if(v===0){var w=d-h.depth-(m.height-y);if(w<g){d+=.5*(g-w);y+=.5*(g-w)}x=n.makeVList([{type:\"elem\",elem:f,shift:y},{type:\"elem\",elem:c,shift:-d}],\"individualShift\",null,t)}else{var k=r.metrics.axisHeight;if(d-h.depth-(k+.5*v)<g){d+=g-(d-h.depth-(k+.5*v))}if(k-.5*v-(m.height-y)<g){y+=g-(k-.5*v-(m.height-y))}var S=p([t.style.reset(),i.TEXT.cls(),\"frac-line\"]);S.height=v;var M=-(k-.5*v);x=n.makeVList([{type:\"elem\",elem:f,shift:y},{type:\"elem\",elem:S,shift:M},{type:\"elem\",elem:c,shift:-d}],\"individualShift\",null,t)}x.height*=r.sizeMultiplier/t.style.sizeMultiplier;x.depth*=r.sizeMultiplier/t.style.sizeMultiplier;var T;if(r.size===i.DISPLAY.size){T=r.metrics.delim1}else{T=r.metrics.delim2}var A;var N;if(e.value.leftDelim==null){A=b(t,[\"mopen\"])}else{A=s.customSizedDelim(e.value.leftDelim,T,true,t.withStyle(r),e.mode,[\"mopen\"])}if(e.value.rightDelim==null){N=b(t,[\"mclose\"])}else{N=s.customSizedDelim(e.value.rightDelim,T,true,t.withStyle(r),e.mode,[\"mclose\"])}return p([\"mord\",t.style.reset(),r.cls()],[A,p([\"mfrac\"],[x]),N],t)};var k=function(e,t){var r=e.number;if(e.unit===\"ex\"){r*=t.metrics.emPerEx}else if(e.unit===\"mu\"){r/=18}return r};w.array=function(e,t){var r;var i;var s=e.value.body.length;var l=0;var h=new Array(s);var c=t.style;var m=1/o.metrics.ptPerEm;var f=5*m;var v=12*m;var d=u.deflt(e.value.arraystretch,1);var g=d*v;var y=.7*g;var x=.3*g;var b=0;for(r=0;r<e.value.body.length;++r){var w=e.value.body[r];var S=y;var M=x;if(l<w.length){l=w.length}var T=new Array(w.length);for(i=0;i<w.length;++i){var A=z(w[i],t);if(M<A.depth){M=A.depth}if(S<A.height){S=A.height}T[i]=A}var N=0;if(e.value.rowGaps[r]){N=k(e.value.rowGaps[r].value,c);if(N>0){N+=x;if(M<N){M=N}N=0}}T.height=S;T.depth=M;b+=S;T.pos=b;b+=M+N;h[r]=T}var q=b/2+c.metrics.axisHeight;var R=e.value.cols||[];var E=[];var C;var D;for(i=0,D=0;i<l||D<R.length;++i,++D){var O=R[D]||{};var P=true;while(O.type===\"separator\"){if(!P){C=p([\"arraycolsep\"],[]);C.style.width=o.metrics.doubleRuleSep+\"em\";E.push(C)}if(O.separator===\"|\"){var F=p([\"vertical-separator\"],[]);F.style.height=b+\"em\";F.style.verticalAlign=-(b-q)+\"em\";E.push(F)}else{throw new a(\"Invalid separator type: \"+O.separator)}D++;O=R[D]||{};P=false}if(i>=l){continue}var I;if(i>0||e.value.hskipBeforeAndAfter){I=u.deflt(O.pregap,f);if(I!==0){C=p([\"arraycolsep\"],[]);C.style.width=I+\"em\";E.push(C)}}var L=[];for(r=0;r<s;++r){var B=h[r];var G=B[i];if(!G){continue}var V=B.pos-q;G.depth=B.depth;G.height=B.height;L.push({type:\"elem\",elem:G,shift:V})}L=n.makeVList(L,\"individualShift\",null,t);L=p([\"col-align-\"+(O.align||\"c\")],[L]);E.push(L);if(i<l-1||e.value.hskipBeforeAndAfter){I=u.deflt(O.postgap,f);if(I!==0){C=p([\"arraycolsep\"],[]);C.style.width=I+\"em\";E.push(C)}}}h=p([\"mtable\"],E);return p([\"mord\"],[h],t)};w.spacing=function(e,t){if(e.value===\"\\\\ \"||e.value===\"\\\\space\"||e.value===\" \"||e.value===\"~\"){if(e.mode===\"text\"){return n.makeOrd(e,t,\"textord\")}else{return p([\"mspace\"],[n.mathsym(e.value,e.mode,t)],t)}}else{return p([\"mspace\",n.spacingFunctions[e.value].className],[],t)}};w.llap=function(e,t){var r=p([\"inner\"],[z(e.value.body,t.reset())]);var a=p([\"fix\"],[]);return p([\"mord\",\"llap\",t.style.cls()],[r,a],t)};w.rlap=function(e,t){var r=p([\"inner\"],[z(e.value.body,t.reset())]);var a=p([\"fix\"],[]);return p([\"mord\",\"rlap\",t.style.cls()],[r,a],t)};w.op=function(e,t){var r;var a;var s=false;if(e.type===\"supsub\"){r=e.value.sup;a=e.value.sub;e=e.value.base;s=true}var l=t.style;var h=[\"\\\\smallint\"];var c=false;if(l.size===i.DISPLAY.size&&e.value.symbol&&!u.contains(h,e.value.body)){c=true}var m;var f=0;var d=0;if(e.value.symbol){var g=c?\"Size2-Regular\":\"Size1-Regular\";m=n.makeSymbol(e.value.body,g,\"math\",t,[\"mop\",\"op-symbol\",c?\"large-op\":\"small-op\"]);f=(m.height-m.depth)/2-l.metrics.axisHeight*l.sizeMultiplier;d=m.italic}else if(e.value.value){var y=v(e.value.value,t,true);m=p([\"mop\"],y,t)}else{var x=[];for(var b=1;b<e.value.body.length;b++){x.push(n.mathsym(e.value.body[b],e.mode))}m=p([\"mop\"],x,t)}if(s){m=p([],[m]);var w;var k;var S;var M;var T;if(r){T=t.withStyle(l.sup());var A=z(r,T);w=p([l.reset(),l.sup().cls()],[A],T);k=Math.max(o.metrics.bigOpSpacing1,o.metrics.bigOpSpacing3-A.depth)}if(a){T=t.withStyle(l.sub());var N=z(a,T);S=p([l.reset(),l.sub().cls()],[N],T);M=Math.max(o.metrics.bigOpSpacing2,o.metrics.bigOpSpacing4-N.height)}var q;var R;var E;if(!r){R=m.height-f;q=n.makeVList([{type:\"kern\",size:o.metrics.bigOpSpacing5},{type:\"elem\",elem:S},{type:\"kern\",size:M},{type:\"elem\",elem:m}],\"top\",R,t);q.children[0].style.marginLeft=-d+\"em\"}else if(!a){E=m.depth+f;q=n.makeVList([{type:\"elem\",elem:m},{type:\"kern\",size:k},{type:\"elem\",elem:w},{type:\"kern\",size:o.metrics.bigOpSpacing5}],\"bottom\",E,t);q.children[1].style.marginLeft=d+\"em\"}else if(!r&&!a){return m}else{E=o.metrics.bigOpSpacing5+S.height+S.depth+M+m.depth+f;\nq=n.makeVList([{type:\"kern\",size:o.metrics.bigOpSpacing5},{type:\"elem\",elem:S},{type:\"kern\",size:M},{type:\"elem\",elem:m},{type:\"kern\",size:k},{type:\"elem\",elem:w},{type:\"kern\",size:o.metrics.bigOpSpacing5}],\"bottom\",E,t);q.children[0].style.marginLeft=-d+\"em\";q.children[2].style.marginLeft=d+\"em\"}return p([\"mop\",\"op-limits\"],[q],t)}else{if(e.value.symbol){m.style.top=f+\"em\"}return m}};w.mod=function(e,t){var r=[];if(e.value.modType===\"bmod\"){if(!t.style.isTight()){r.push(p([\"mspace\",\"negativemediumspace\"],[],t))}r.push(p([\"mspace\",\"thickspace\"],[],t))}else if(t.style.size===i.DISPLAY.size){r.push(p([\"mspace\",\"quad\"],[],t))}else if(e.value.modType===\"mod\"){r.push(p([\"mspace\",\"twelvemuspace\"],[],t))}else{r.push(p([\"mspace\",\"eightmuspace\"],[],t))}if(e.value.modType===\"pod\"||e.value.modType===\"pmod\"){r.push(n.mathsym(\"(\",e.mode))}if(e.value.modType!==\"pod\"){var a=[n.mathsym(\"m\",e.mode),n.mathsym(\"o\",e.mode),n.mathsym(\"d\",e.mode)];if(e.value.modType===\"bmod\"){r.push(p([\"mbin\"],a,t));r.push(p([\"mspace\",\"thickspace\"],[],t));if(!t.style.isTight()){r.push(p([\"mspace\",\"negativemediumspace\"],[],t))}}else{Array.prototype.push.apply(r,a);r.push(p([\"mspace\",\"sixmuspace\"],[],t))}}if(e.value.value){Array.prototype.push.apply(r,v(e.value.value,t,false))}if(e.value.modType===\"pod\"||e.value.modType===\"pmod\"){r.push(n.mathsym(\")\",e.mode))}return n.makeFragment(r)};w.katex=function(e,t){var r=p([\"k\"],[n.mathsym(\"K\",e.mode)],t);var a=p([\"a\"],[n.mathsym(\"A\",e.mode)],t);a.height=(a.height+.2)*.75;a.depth=(a.height-.2)*.75;var i=p([\"t\"],[n.mathsym(\"T\",e.mode)],t);var s=p([\"e\"],[n.mathsym(\"E\",e.mode)],t);s.height=s.height-.2155;s.depth=s.depth+.2155;var l=p([\"x\"],[n.mathsym(\"X\",e.mode)],t);return p([\"mord\",\"katex-logo\"],[r,a,i,s,l],t)};w.overline=function(e,t){var r=t.style;var a=z(e.value.body,t.withStyle(r.cramp()));var s=o.metrics.defaultRuleThickness/r.sizeMultiplier;var l=p([r.reset(),i.TEXT.cls(),\"overline-line\"]);l.height=s;l.maxFontSize=1;var u=n.makeVList([{type:\"elem\",elem:a},{type:\"kern\",size:3*s},{type:\"elem\",elem:l},{type:\"kern\",size:s}],\"firstBaseline\",null,t);return p([\"mord\",\"overline\"],[u],t)};w.underline=function(e,t){var r=t.style;var a=z(e.value.body,t);var s=o.metrics.defaultRuleThickness/r.sizeMultiplier;var l=p([r.reset(),i.TEXT.cls(),\"underline-line\"]);l.height=s;l.maxFontSize=1;var u=n.makeVList([{type:\"kern\",size:s},{type:\"elem\",elem:l},{type:\"kern\",size:3*s},{type:\"elem\",elem:a}],\"top\",a.height,t);return p([\"mord\",\"underline\"],[u],t)};w.sqrt=function(e,t){var r=t.style;var a=z(e.value.body,t.withStyle(r.cramp()));var l=o.metrics.defaultRuleThickness/r.sizeMultiplier;var u=p([r.reset(),i.TEXT.cls(),\"sqrt-line\"],[],t);u.height=l;u.maxFontSize=1;var h=l;if(r.id<i.TEXT.id){h=r.metrics.xHeight}var c=l+h/4;var m=(a.height+a.depth)*r.sizeMultiplier;var f=m+c+l;var v=p([\"sqrt-sign\"],[s.customSizedDelim(\"\\\\surd\",f,false,t,e.mode)],t);var d=v.height+v.depth-l;if(d>a.height+a.depth+c){c=(c+d-a.height-a.depth)/2}var g=-(a.height+c+l)+v.height;v.style.top=g+\"em\";v.height-=g;v.depth+=g;var y;if(a.height===0&&a.depth===0){y=p()}else{y=n.makeVList([{type:\"elem\",elem:a},{type:\"kern\",size:c},{type:\"elem\",elem:u},{type:\"kern\",size:l}],\"firstBaseline\",null,t)}if(!e.value.index){return p([\"mord\",\"sqrt\"],[v,y],t)}else{var x=t.withStyle(i.SCRIPTSCRIPT);var b=z(e.value.index,x);var w=p([r.reset(),i.SCRIPTSCRIPT.cls()],[b],x);var k=Math.max(v.height,y.height);var S=Math.max(v.depth,y.depth);var M=.6*(k-S);var T=n.makeVList([{type:\"elem\",elem:w}],\"shift\",-M,t);var A=p([\"root\"],[T]);return p([\"mord\",\"sqrt\"],[A,v,y],t)}};w.sizing=function(e,t){var r=v(e.value.value,t.withSize(e.value.size),false);var a=t.style;var i=n.sizingMultiplier[e.value.size];i=i*a.sizeMultiplier;for(var s=0;s<r.length;s++){var l=u.indexOf(r[s].classes,\"sizing\");if(l<0){r[s].classes.push(\"sizing\",\"reset-\"+t.size,e.value.size,a.cls());r[s].maxFontSize=i}else if(r[s].classes[l+1]===\"reset-\"+e.value.size){r[s].classes[l+1]=\"reset-\"+t.size}}return n.makeFragment(r)};w.styling=function(e,t){var r={display:i.DISPLAY,text:i.TEXT,script:i.SCRIPT,scriptscript:i.SCRIPTSCRIPT};var a=r[e.value.style];var s=t.withStyle(a);var l=v(e.value.value,s,false);for(var o=0;o<l.length;o++){var p=u.indexOf(l[o].classes,a.reset());if(p<0){l[o].classes.push(t.style.reset(),a.cls())}else{l[o].classes[p]=t.style.reset()}}return new n.makeFragment(l)};w.font=function(e,t){var r=e.value.font;return z(e.value.body,t.withFont(r))};w.delimsizing=function(e,t){var r=e.value.value;if(r===\".\"){return p([e.value.mclass])}return s.sizedDelim(r,e.value.size,t,e.mode,[e.value.mclass])};w.leftright=function(e,t){var r=v(e.value.body,t.reset(),true);var a=0;var i=0;var n=false;for(var l=0;l<r.length;l++){if(r[l].isMiddle){n=true}else{a=Math.max(r[l].height,a);i=Math.max(r[l].depth,i)}}var o=t.style;a*=o.sizeMultiplier;i*=o.sizeMultiplier;var u;if(e.value.left===\".\"){u=b(t,[\"mopen\"])}else{u=s.leftRightDelim(e.value.left,a,i,t,e.mode,[\"mopen\"])}r.unshift(u);if(n){for(l=1;l<r.length;l++){if(r[l].isMiddle){r[l]=s.leftRightDelim(r[l].isMiddle.value,a,i,r[l].isMiddle.options,e.mode,[])}}}var h;if(e.value.right===\".\"){h=b(t,[\"mclose\"])}else{h=s.leftRightDelim(e.value.right,a,i,t,e.mode,[\"mclose\"])}r.push(h);return p([\"minner\",o.cls()],r,t)};w.middle=function(e,t){var r;if(e.value.value===\".\"){r=b(t,[])}else{r=s.sizedDelim(e.value.value,1,t,e.mode,[]);r.isMiddle={value:e.value.value,options:t}}return r};w.rule=function(e,t){var r=p([\"mord\",\"rule\"],[],t);var a=t.style;var i=0;if(e.value.shift){i=k(e.value.shift,a)}var n=k(e.value.width,a);var s=k(e.value.height,a);i/=a.sizeMultiplier;n/=a.sizeMultiplier;s/=a.sizeMultiplier;r.style.borderRightWidth=n+\"em\";r.style.borderTopWidth=s+\"em\";r.style.bottom=i+\"em\";r.width=n;r.height=s+i;r.depth=-i;return r};w.kern=function(e,t){var r=p([\"mord\",\"rule\"],[],t);var a=t.style;var i=0;if(e.value.dimension){i=k(e.value.dimension,a)}i/=a.sizeMultiplier;r.style.marginLeft=i+\"em\";return r};w.accent=function(e,t){var r=e.value.base;var a=t.style;var i;if(e.type===\"supsub\"){var s=e;e=s.value.base;r=e.value.base;s.value.base=r;i=z(s,t.reset())}var l=z(r,t.withStyle(a.cramp()));var o;if(x(r)){var u=y(r);var h=z(u,t.withStyle(a.cramp()));o=h.skew}else{o=0}var c=Math.min(l.height,a.metrics.xHeight);var m=n.makeSymbol(e.value.accent,\"Main-Regular\",\"math\",t);m.italic=0;var f=e.value.accent===\"\\\\vec\"?\"accent-vec\":null;var v=p([\"accent-body\",f],[p([],[m])]);v=n.makeVList([{type:\"elem\",elem:l},{type:\"kern\",size:-c},{type:\"elem\",elem:v}],\"firstBaseline\",null,t);v.children[1].style.marginLeft=2*o+\"em\";var d=p([\"mord\",\"accent\"],[v],t);if(i){i.children[0]=d;i.height=Math.max(d.height,i.height);i.classes[0]=\"mord\";return i}else{return d}};w.phantom=function(e,t){var r=v(e.value.value,t.withPhantom(),false);return new n.makeFragment(r)};w.mclass=function(e,t){var r=v(e.value.value,t,true);return p([e.value.mclass],r,t)};var z=function(e,t){if(!e){return p()}if(w[e.type]){var r=w[e.type](e,t);var i;if(t.style!==t.parentStyle){i=t.style.sizeMultiplier/t.parentStyle.sizeMultiplier;r.height*=i;r.depth*=i}if(t.size!==t.parentSize){i=n.sizingMultiplier[t.size]/n.sizingMultiplier[t.parentSize];r.height*=i;r.depth*=i}return r}else{throw new a(\"Got group of unknown type: '\"+e.type+\"'\")}};var S=function(e,t){e=JSON.parse(JSON.stringify(e));var r=v(e,t,true);var a=p([\"base\",t.style.cls()],r,t);var i=p([\"strut\"]);var n=p([\"strut\",\"bottom\"]);i.style.height=a.height+\"em\";n.style.height=a.height+a.depth+\"em\";n.style.verticalAlign=-a.depth+\"em\";var s=p([\"katex-html\"],[i,n,a]);s.setAttribute(\"aria-hidden\",\"true\");return s};t.exports=S},{\"./ParseError\":6,\"./Style\":9,\"./buildCommon\":10,\"./delimiter\":14,\"./domTree\":15,\"./fontMetrics\":17,\"./utils\":25}],12:[function(e,t,r){var a=e(\"./buildCommon\");var i=e(\"./fontMetrics\");var n=e(\"./mathMLTree\");var s=e(\"./ParseError\");var l=e(\"./symbols\");var o=e(\"./utils\");var u=a.makeSpan;var p=a.fontMap;var h=function(e,t){if(l[t][e]&&l[t][e].replace){e=l[t][e].replace}return new n.TextNode(e)};var c=function(e,t){var r=t.font;if(!r){return null}var a=e.mode;if(r===\"mathit\"){return\"italic\"}var n=e.value;if(o.contains([\"\\\\imath\",\"\\\\jmath\"],n)){return null}if(l[a][n]&&l[a][n].replace){n=l[a][n].replace}var s=p[r].fontName;if(i.getCharacterMetrics(n,s)){return p[t.font].variant}return null};var m={};m.mathord=function(e,t){var r=new n.MathNode(\"mi\",[h(e.value,e.mode)]);var a=c(e,t);if(a){r.setAttribute(\"mathvariant\",a)}return r};m.textord=function(e,t){var r=h(e.value,e.mode);var a=c(e,t)||\"normal\";var i;if(/[0-9]/.test(e.value)){i=new n.MathNode(\"mn\",[r]);if(t.font){i.setAttribute(\"mathvariant\",a)}}else{i=new n.MathNode(\"mi\",[r]);i.setAttribute(\"mathvariant\",a)}return i};m.bin=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);return t};m.rel=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);return t};m.open=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);return t};m.close=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);return t};m.inner=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);return t};m.punct=function(e){var t=new n.MathNode(\"mo\",[h(e.value,e.mode)]);t.setAttribute(\"separator\",\"true\");return t};m.ordgroup=function(e,t){var r=f(e.value,t);var a=new n.MathNode(\"mrow\",r);return a};m.text=function(e,t){var r=f(e.value.body,t);var a=new n.MathNode(\"mtext\",r);return a};m.color=function(e,t){var r=f(e.value.value,t);var a=new n.MathNode(\"mstyle\",r);a.setAttribute(\"mathcolor\",e.value.color);return a};m.supsub=function(e,t){var r=[v(e.value.base,t)];if(e.value.sub){r.push(v(e.value.sub,t))}if(e.value.sup){r.push(v(e.value.sup,t))}var a;if(!e.value.sub){a=\"msup\"}else if(!e.value.sup){a=\"msub\"}else{a=\"msubsup\"}var i=new n.MathNode(a,r);return i};m.genfrac=function(e,t){var r=new n.MathNode(\"mfrac\",[v(e.value.numer,t),v(e.value.denom,t)]);if(!e.value.hasBarLine){r.setAttribute(\"linethickness\",\"0px\")}if(e.value.leftDelim!=null||e.value.rightDelim!=null){var a=[];if(e.value.leftDelim!=null){var i=new n.MathNode(\"mo\",[new n.TextNode(e.value.leftDelim)]);i.setAttribute(\"fence\",\"true\");a.push(i)}a.push(r);if(e.value.rightDelim!=null){var s=new n.MathNode(\"mo\",[new n.TextNode(e.value.rightDelim)]);s.setAttribute(\"fence\",\"true\");a.push(s)}var l=new n.MathNode(\"mrow\",a);return l}return r};m.array=function(e,t){return new n.MathNode(\"mtable\",e.value.body.map(function(e){return new n.MathNode(\"mtr\",e.map(function(e){return new n.MathNode(\"mtd\",[v(e,t)])}))}))};m.sqrt=function(e,t){var r;if(e.value.index){r=new n.MathNode(\"mroot\",[v(e.value.body,t),v(e.value.index,t)])}else{r=new n.MathNode(\"msqrt\",[v(e.value.body,t)])}return r};m.leftright=function(e,t){var r=f(e.value.body,t);if(e.value.left!==\".\"){var a=new n.MathNode(\"mo\",[h(e.value.left,e.mode)]);a.setAttribute(\"fence\",\"true\");r.unshift(a)}if(e.value.right!==\".\"){var i=new n.MathNode(\"mo\",[h(e.value.right,e.mode)]);i.setAttribute(\"fence\",\"true\");r.push(i)}var s=new n.MathNode(\"mrow\",r);return s};m.middle=function(e,t){var r=new n.MathNode(\"mo\",[h(e.value.middle,e.mode)]);r.setAttribute(\"fence\",\"true\");return r};m.accent=function(e,t){var r=new n.MathNode(\"mo\",[h(e.value.accent,e.mode)]);var a=new n.MathNode(\"mover\",[v(e.value.base,t),r]);a.setAttribute(\"accent\",\"true\");return a};m.spacing=function(e){var t;if(e.value===\"\\\\ \"||e.value===\"\\\\space\"||e.value===\" \"||e.value===\"~\"){t=new n.MathNode(\"mtext\",[new n.TextNode(\"\\xa0\")])}else{t=new n.MathNode(\"mspace\");t.setAttribute(\"width\",a.spacingFunctions[e.value].size)}return t};m.op=function(e,t){var r;if(e.value.symbol){r=new n.MathNode(\"mo\",[h(e.value.body,e.mode)])}else if(e.value.value){r=new n.MathNode(\"mo\",f(e.value.value,t))}else{r=new n.MathNode(\"mi\",[new n.TextNode(e.value.body.slice(1))])}return r};m.mod=function(e,t){var r=[];if(e.value.modType===\"pod\"||e.value.modType===\"pmod\"){r.push(new n.MathNode(\"mo\",[h(\"(\",e.mode)]))}if(e.value.modType!==\"pod\"){r.push(new n.MathNode(\"mo\",[h(\"mod\",e.mode)]))}if(e.value.value){var a=new n.MathNode(\"mspace\");a.setAttribute(\"width\",\"0.333333em\");r.push(a);r=r.concat(f(e.value.value,t))}if(e.value.modType===\"pod\"||e.value.modType===\"pmod\"){r.push(new n.MathNode(\"mo\",[h(\")\",e.mode)]))}return new n.MathNode(\"mo\",r)};m.katex=function(e){var t=new n.MathNode(\"mtext\",[new n.TextNode(\"KaTeX\")]);return t};m.font=function(e,t){var r=e.value.font;return v(e.value.body,t.withFont(r))};m.delimsizing=function(e){var t=[];if(e.value.value!==\".\"){t.push(h(e.value.value,e.mode))}var r=new n.MathNode(\"mo\",t);if(e.value.mclass===\"mopen\"||e.value.mclass===\"mclose\"){r.setAttribute(\"fence\",\"true\")}else{r.setAttribute(\"fence\",\"false\")}return r};m.styling=function(e,t){var r=f(e.value.value,t);var a=new n.MathNode(\"mstyle\",r);var i={display:[\"0\",\"true\"],text:[\"0\",\"false\"],script:[\"1\",\"false\"],scriptscript:[\"2\",\"false\"]};var s=i[e.value.style];a.setAttribute(\"scriptlevel\",s[0]);a.setAttribute(\"displaystyle\",s[1]);return a};m.sizing=function(e,t){var r=f(e.value.value,t);var i=new n.MathNode(\"mstyle\",r);i.setAttribute(\"mathsize\",a.sizingMultiplier[e.value.size]+\"em\");return i};m.overline=function(e,t){var r=new n.MathNode(\"mo\",[new n.TextNode(\"\\u203e\")]);r.setAttribute(\"stretchy\",\"true\");var a=new n.MathNode(\"mover\",[v(e.value.body,t),r]);a.setAttribute(\"accent\",\"true\");return a};m.underline=function(e,t){var r=new n.MathNode(\"mo\",[new n.TextNode(\"\\u203e\")]);r.setAttribute(\"stretchy\",\"true\");var a=new n.MathNode(\"munder\",[v(e.value.body,t),r]);a.setAttribute(\"accentunder\",\"true\");return a};m.rule=function(e){var t=new n.MathNode(\"mrow\");return t};m.kern=function(e){var t=new n.MathNode(\"mrow\");return t};m.llap=function(e,t){var r=new n.MathNode(\"mpadded\",[v(e.value.body,t)]);r.setAttribute(\"lspace\",\"-1width\");r.setAttribute(\"width\",\"0px\");return r};m.rlap=function(e,t){var r=new n.MathNode(\"mpadded\",[v(e.value.body,t)]);r.setAttribute(\"width\",\"0px\");return r};m.phantom=function(e,t){var r=f(e.value.value,t);return new n.MathNode(\"mphantom\",r)};m.mclass=function(e,t){var r=f(e.value.value,t);return new n.MathNode(\"mstyle\",r)};var f=function(e,t){var r=[];for(var a=0;a<e.length;a++){var i=e[a];r.push(v(i,t))}return r};var v=function(e,t){if(!e){return new n.MathNode(\"mrow\")}if(m[e.type]){return m[e.type](e,t)}else{throw new s(\"Got group of unknown type: '\"+e.type+\"'\")}};var d=function(e,t,r){var a=f(e,r);var i=new n.MathNode(\"mrow\",a);var s=new n.MathNode(\"annotation\",[new n.TextNode(t)]);s.setAttribute(\"encoding\",\"application/x-tex\");var l=new n.MathNode(\"semantics\",[i,s]);var o=new n.MathNode(\"math\",[l]);return u([\"katex-mathml\"],[o])};t.exports=d},{\"./ParseError\":6,\"./buildCommon\":10,\"./fontMetrics\":17,\"./mathMLTree\":20,\"./symbols\":23,\"./utils\":25}],13:[function(e,t,r){var a=e(\"./buildHTML\");var i=e(\"./buildMathML\");var n=e(\"./buildCommon\");var s=e(\"./Options\");var l=e(\"./Settings\");var o=e(\"./Style\");var u=n.makeSpan;var p=function(e,t,r){r=r||new l({});var n=o.TEXT;if(r.displayMode){n=o.DISPLAY}var p=new s({style:n,size:\"size5\"});var h=i(e,t,p);var c=a(e,p);var m=u([\"katex\"],[h,c]);if(r.displayMode){return u([\"katex-display\"],[m])}else{return m}};t.exports=p},{\"./Options\":5,\"./Settings\":8,\"./Style\":9,\"./buildCommon\":10,\"./buildHTML\":11,\"./buildMathML\":12}],14:[function(e,t,r){var a=e(\"./ParseError\");var i=e(\"./Style\");var n=e(\"./buildCommon\");var s=e(\"./fontMetrics\");var l=e(\"./symbols\");var o=e(\"./utils\");var u=n.makeSpan;var p=function(e,t){if(l.math[e]&&l.math[e].replace){return s.getCharacterMetrics(l.math[e].replace,t)}else{return s.getCharacterMetrics(e,t)}};var h=function(e,t,r,a){return n.makeSymbol(e,\"Size\"+t+\"-Regular\",r,a)};var c=function(e,t,r,a){a=a||[];var i=u(a.concat([\"style-wrap\",r.style.reset(),t.cls()]),[e],r);var n=t.sizeMultiplier/r.style.sizeMultiplier;i.height*=n;i.depth*=n;i.maxFontSize=t.sizeMultiplier;return i};var m=function(e,t,r,a,i,s){var l=n.makeSymbol(e,\"Main-Regular\",i,a);var o=c(l,t,a,s);if(r){var u=(1-a.style.sizeMultiplier/t.sizeMultiplier)*a.style.metrics.axisHeight;o.style.top=u+\"em\";o.height-=u;o.depth+=u}return o};var f=function(e,t,r,a,n,s){var l=h(e,t,n,a);var o=c(u([\"delimsizing\",\"size\"+t],[l],a),i.TEXT,a,s);if(r){var p=(1-a.style.sizeMultiplier)*a.style.metrics.axisHeight;o.style.top=p+\"em\";o.height-=p;o.depth+=p}return o};var v=function(e,t,r){var a;if(t===\"Size1-Regular\"){a=\"delim-size1\"}else if(t===\"Size4-Regular\"){a=\"delim-size4\"}var i=u([\"delimsizinginner\",a],[u([],[n.makeSymbol(e,t,r)])]);return{type:\"elem\",elem:i}};var d=function(e,t,r,a,s,l){var o;var h;var m;var f;o=m=f=e;h=null;var d=\"Size1-Regular\";if(e===\"\\\\uparrow\"){m=f=\"\\u23d0\"}else if(e===\"\\\\Uparrow\"){m=f=\"\\u2016\"}else if(e===\"\\\\downarrow\"){o=m=\"\\u23d0\"}else if(e===\"\\\\Downarrow\"){o=m=\"\\u2016\"}else if(e===\"\\\\updownarrow\"){o=\"\\\\uparrow\";m=\"\\u23d0\";f=\"\\\\downarrow\"}else if(e===\"\\\\Updownarrow\"){o=\"\\\\Uparrow\";m=\"\\u2016\";f=\"\\\\Downarrow\"}else if(e===\"[\"||e===\"\\\\lbrack\"){o=\"\\u23a1\";m=\"\\u23a2\";f=\"\\u23a3\";d=\"Size4-Regular\"}else if(e===\"]\"||e===\"\\\\rbrack\"){o=\"\\u23a4\";m=\"\\u23a5\";f=\"\\u23a6\";d=\"Size4-Regular\"}else if(e===\"\\\\lfloor\"){m=o=\"\\u23a2\";f=\"\\u23a3\";d=\"Size4-Regular\"}else if(e===\"\\\\lceil\"){o=\"\\u23a1\";m=f=\"\\u23a2\";d=\"Size4-Regular\"}else if(e===\"\\\\rfloor\"){m=o=\"\\u23a5\";f=\"\\u23a6\";d=\"Size4-Regular\"}else if(e===\"\\\\rceil\"){o=\"\\u23a4\";m=f=\"\\u23a5\";d=\"Size4-Regular\"}else if(e===\"(\"){o=\"\\u239b\";m=\"\\u239c\";f=\"\\u239d\";d=\"Size4-Regular\"}else if(e===\")\"){o=\"\\u239e\";m=\"\\u239f\";f=\"\\u23a0\";d=\"Size4-Regular\"}else if(e===\"\\\\{\"||e===\"\\\\lbrace\"){o=\"\\u23a7\";h=\"\\u23a8\";f=\"\\u23a9\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\}\"||e===\"\\\\rbrace\"){o=\"\\u23ab\";h=\"\\u23ac\";f=\"\\u23ad\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\lgroup\"){o=\"\\u23a7\";f=\"\\u23a9\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\rgroup\"){o=\"\\u23ab\";f=\"\\u23ad\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\lmoustache\"){o=\"\\u23a7\";f=\"\\u23ad\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\rmoustache\"){o=\"\\u23ab\";f=\"\\u23a9\";m=\"\\u23aa\";d=\"Size4-Regular\"}else if(e===\"\\\\surd\"){o=\"\\ue001\";f=\"\\u23b7\";m=\"\\ue000\";d=\"Size4-Regular\"}var g=p(o,d);var y=g.height+g.depth;var x=p(m,d);var b=x.height+x.depth;var w=p(f,d);var k=w.height+w.depth;var z=0;var S=1;if(h!==null){var M=p(h,d);z=M.height+M.depth;S=2}var T=y+k+z;var A=Math.ceil((t-T)/(S*b));var N=T+A*S*b;var q=a.style.metrics.axisHeight;if(r){q*=a.style.sizeMultiplier}var R=N/2-q;var E=[];E.push(v(f,d,s));var C;if(h===null){for(C=0;C<A;C++){E.push(v(m,d,s))}}else{for(C=0;C<A;C++){E.push(v(m,d,s))}E.push(v(h,d,s));for(C=0;C<A;C++){E.push(v(m,d,s))}}E.push(v(o,d,s));var D=n.makeVList(E,\"bottom\",R,a);return c(u([\"delimsizing\",\"mult\"],[D],a),i.TEXT,a,l)};var g=[\"(\",\")\",\"[\",\"\\\\lbrack\",\"]\",\"\\\\rbrack\",\"\\\\{\",\"\\\\lbrace\",\"\\\\}\",\"\\\\rbrace\",\"\\\\lfloor\",\"\\\\rfloor\",\"\\\\lceil\",\"\\\\rceil\",\"\\\\surd\"];var y=[\"\\\\uparrow\",\"\\\\downarrow\",\"\\\\updownarrow\",\"\\\\Uparrow\",\"\\\\Downarrow\",\"\\\\Updownarrow\",\"|\",\"\\\\|\",\"\\\\vert\",\"\\\\Vert\",\"\\\\lvert\",\"\\\\rvert\",\"\\\\lVert\",\"\\\\rVert\",\"\\\\lgroup\",\"\\\\rgroup\",\"\\\\lmoustache\",\"\\\\rmoustache\"];var x=[\"<\",\">\",\"\\\\langle\",\"\\\\rangle\",\"/\",\"\\\\backslash\",\"\\\\lt\",\"\\\\gt\"];var b=[0,1.2,1.8,2.4,3];var w=function(e,t,r,i,n){if(e===\"<\"||e===\"\\\\lt\"){e=\"\\\\langle\"}else if(e===\">\"||e===\"\\\\gt\"){e=\"\\\\rangle\"}if(o.contains(g,e)||o.contains(x,e)){return f(e,t,false,r,i,n)}else if(o.contains(y,e)){return d(e,b[t],false,r,i,n)}else{throw new a(\"Illegal delimiter: '\"+e+\"'\")}};var k=[{type:\"small\",style:i.SCRIPTSCRIPT},{type:\"small\",style:i.SCRIPT},{type:\"small\",style:i.TEXT},{type:\"large\",size:1},{type:\"large\",size:2},{type:\"large\",size:3},{type:\"large\",size:4}];var z=[{type:\"small\",style:i.SCRIPTSCRIPT},{type:\"small\",style:i.SCRIPT},{type:\"small\",style:i.TEXT},{type:\"stack\"}];var S=[{type:\"small\",style:i.SCRIPTSCRIPT},{type:\"small\",style:i.SCRIPT},{type:\"small\",style:i.TEXT},{type:\"large\",size:1},{type:\"large\",size:2},{type:\"large\",size:3},{type:\"large\",size:4},{type:\"stack\"}];var M=function(e){if(e.type===\"small\"){return\"Main-Regular\"}else if(e.type===\"large\"){return\"Size\"+e.size+\"-Regular\"}else if(e.type===\"stack\"){return\"Size4-Regular\"}};var T=function(e,t,r,a){var i=Math.min(2,3-a.style.size);for(var n=i;n<r.length;n++){if(r[n].type===\"stack\"){break}var s=p(e,M(r[n]));var l=s.height+s.depth;if(r[n].type===\"small\"){l*=r[n].style.sizeMultiplier}if(l>t){return r[n]}}return r[r.length-1]};var A=function(e,t,r,a,i,n){if(e===\"<\"||e===\"\\\\lt\"){e=\"\\\\langle\"}else if(e===\">\"||e===\"\\\\gt\"){e=\"\\\\rangle\"}var s;if(o.contains(x,e)){s=k}else if(o.contains(g,e)){s=S}else{s=z}var l=T(e,t,s,a);if(l.type===\"small\"){return m(e,l.style,r,a,i,n)}else if(l.type===\"large\"){return f(e,l.size,r,a,i,n)}else if(l.type===\"stack\"){return d(e,t,r,a,i,n)}};var N=function(e,t,r,a,i,n){var l=a.style.metrics.axisHeight*a.style.sizeMultiplier;var o=901;var u=5/s.metrics.ptPerEm;var p=Math.max(t-l,r+l);var h=Math.max(p/500*o,2*p-u);return A(e,h,true,a,i,n)};t.exports={sizedDelim:w,customSizedDelim:A,leftRightDelim:N}},{\"./ParseError\":6,\"./Style\":9,\"./buildCommon\":10,\"./fontMetrics\":17,\"./symbols\":23,\"./utils\":25}],15:[function(e,t,r){var a=e(\"./unicodeRegexes\");var i=e(\"./utils\");var n=function(e){e=e.slice();for(var t=e.length-1;t>=0;t--){if(!e[t]){e.splice(t,1)}}return e.join(\" \")};function s(e,t,r){this.classes=e||[];this.children=t||[];this.height=0;this.depth=0;this.maxFontSize=0;this.style={};this.attributes={};if(r){if(r.style.isTight()){this.classes.push(\"mtight\")}if(r.getColor()){this.style.color=r.getColor()}}}s.prototype.setAttribute=function(e,t){this.attributes[e]=t};s.prototype.tryCombine=function(e){return false};s.prototype.toNode=function(){var e=document.createElement(\"span\");e.className=n(this.classes);for(var t in this.style){if(Object.prototype.hasOwnProperty.call(this.style,t)){e.style[t]=this.style[t]}}for(var r in this.attributes){if(Object.prototype.hasOwnProperty.call(this.attributes,r)){e.setAttribute(r,this.attributes[r])}}for(var a=0;a<this.children.length;a++){e.appendChild(this.children[a].toNode())}return e};s.prototype.toMarkup=function(){var e=\"<span\";if(this.classes.length){e+=' class=\"';e+=i.escape(n(this.classes));e+='\"'}var t=\"\";for(var r in this.style){if(this.style.hasOwnProperty(r)){t+=i.hyphenate(r)+\":\"+this.style[r]+\";\"}}if(t){e+=' style=\"'+i.escape(t)+'\"'}for(var a in this.attributes){if(Object.prototype.hasOwnProperty.call(this.attributes,a)){e+=\" \"+a+'=\"';e+=i.escape(this.attributes[a]);e+='\"'}}e+=\">\";for(var s=0;s<this.children.length;s++){e+=this.children[s].toMarkup()}e+=\"</span>\";return e};function l(e){this.children=e||[];this.height=0;this.depth=0;this.maxFontSize=0}l.prototype.toNode=function(){var e=document.createDocumentFragment();for(var t=0;t<this.children.length;t++){e.appendChild(this.children[t].toNode())}return e};l.prototype.toMarkup=function(){var e=\"\";for(var t=0;t<this.children.length;t++){e+=this.children[t].toMarkup()}return e};var o={\"\\xee\":\"\\u0131\\u0302\",\"\\xef\":\"\\u0131\\u0308\",\"\\xed\":\"\\u0131\\u0301\",\"\\xec\":\"\\u0131\\u0300\"};function u(e,t,r,i,n,s,l){this.value=e||\"\";this.height=t||0;this.depth=r||0;this.italic=i||0;this.skew=n||0;this.classes=s||[];this.style=l||{};this.maxFontSize=0;if(a.cjkRegex.test(e)){if(a.hangulRegex.test(e)){this.classes.push(\"hangul_fallback\")}else{this.classes.push(\"cjk_fallback\")}}if(/[\\xee\\xef\\xed\\xec]/.test(this.value)){this.value=o[this.value]}}u.prototype.tryCombine=function(e){if(!e||!(e instanceof u)||this.italic>0||n(this.classes)!==n(e.classes)||this.skew!==e.skew||this.maxFontSize!==e.maxFontSize){return false}for(var t in this.style){if(this.style.hasOwnProperty(t)&&this.style[t]!==e.style[t]){return false}}for(t in e.style){if(e.style.hasOwnProperty(t)&&this.style[t]!==e.style[t]){return false}}this.value+=e.value;this.height=Math.max(this.height,e.height);this.depth=Math.max(this.depth,e.depth);this.italic=e.italic;return true};u.prototype.toNode=function(){var e=document.createTextNode(this.value);var t=null;if(this.italic>0){t=document.createElement(\"span\");t.style.marginRight=this.italic+\"em\"}if(this.classes.length>0){t=t||document.createElement(\"span\");t.className=n(this.classes)}for(var r in this.style){if(this.style.hasOwnProperty(r)){t=t||document.createElement(\"span\");t.style[r]=this.style[r]}}if(t){t.appendChild(e);return t}else{return e}};u.prototype.toMarkup=function(){var e=false;var t=\"<span\";if(this.classes.length){e=true;t+=' class=\"';t+=i.escape(n(this.classes));t+='\"'}var r=\"\";if(this.italic>0){r+=\"margin-right:\"+this.italic+\"em;\"}for(var a in this.style){if(this.style.hasOwnProperty(a)){r+=i.hyphenate(a)+\":\"+this.style[a]+\";\"}}if(r){e=true;t+=' style=\"'+i.escape(r)+'\"'}var s=i.escape(this.value);if(e){t+=\">\";t+=s;t+=\"</span>\";return t}else{return s}};t.exports={span:s,documentFragment:l,symbolNode:u}},{\"./unicodeRegexes\":24,\"./utils\":25}],16:[function(e,t,r){var a=e(\"./parseData\");var i=e(\"./ParseError\");var n=e(\"./Style\");var s=a.ParseNode;function l(e,t){var r=[];var a=[r];var n=[];while(true){var l=e.parseExpression(false,null);r.push(new s(\"ordgroup\",l,e.mode));var o=e.nextToken.text;if(o===\"&\"){e.consume()}else if(o===\"\\\\end\"){break}else if(o===\"\\\\\\\\\"||o===\"\\\\cr\"){var u=e.parseFunction();n.push(u.value.size);r=[];a.push(r)}else{throw new i(\"Expected & or \\\\\\\\ or \\\\end\",e.nextToken)}}t.body=a;t.rowGaps=n;return new s(t.type,t,e.mode)}function o(e,r,a){if(typeof e===\"string\"){e=[e]}if(typeof r===\"number\"){r={numArgs:r}}var i={numArgs:r.numArgs||0,argTypes:r.argTypes,greediness:1,allowedInText:!!r.allowedInText,numOptionalArgs:r.numOptionalArgs||0,handler:a};for(var n=0;n<e.length;++n){t.exports[e[n]]=i}}o(\"array\",{numArgs:1},function(e,t){var r=t[0];r=r.value.map?r.value:[r];var a=r.map(function(e){var t=e.value;if(\"lcr\".indexOf(t)!==-1){return{type:\"align\",align:t}}else if(t===\"|\"){return{type:\"separator\",separator:\"|\"}}throw new i(\"Unknown column alignment: \"+e.value,e)});var n={type:\"array\",cols:a,hskipBeforeAndAfter:true};n=l(e.parser,n);return n});o([\"matrix\",\"pmatrix\",\"bmatrix\",\"Bmatrix\",\"vmatrix\",\"Vmatrix\"],{},function(e){var t={matrix:null,pmatrix:[\"(\",\")\"],bmatrix:[\"[\",\"]\"],Bmatrix:[\"\\\\{\",\"\\\\}\"],vmatrix:[\"|\",\"|\"],Vmatrix:[\"\\\\Vert\",\"\\\\Vert\"]}[e.envName];var r={type:\"array\",hskipBeforeAndAfter:false};r=l(e.parser,r);if(t){r=new s(\"leftright\",{body:[r],left:t[0],right:t[1]},e.mode)}return r});o(\"cases\",{},function(e){var t={type:\"array\",arraystretch:1.2,cols:[{type:\"align\",align:\"l\",pregap:0,postgap:n.TEXT.metrics.quad},{type:\"align\",align:\"l\",pregap:0,postgap:0}]};t=l(e.parser,t);t=new s(\"leftright\",{body:[t],left:\"\\\\{\",right:\".\"},e.mode);return t});o(\"aligned\",{},function(e){var t={type:\"array\",cols:[]};t=l(e.parser,t);var r=new s(\"ordgroup\",[],e.mode);var a=0;t.value.body.forEach(function(e){var t;for(t=1;t<e.length;t+=2){e[t].value.unshift(r)}if(a<e.length){a=e.length}});for(var i=0;i<a;++i){var n=\"r\";var o=0;if(i%2===1){n=\"l\"}else if(i>0){o=2}t.value.cols[i]={type:\"align\",align:n,pregap:o,postgap:0}}return t})},{\"./ParseError\":6,\"./Style\":9,\"./parseData\":21}],17:[function(e,t,r){var a=e(\"./Style\");var i=e(\"./unicodeRegexes\").cjkRegex;var n={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25]};var s=0;var l=0;var o=0;var u=0;var p=.431;var h=1;var c=0;var m=.04;var f=.111;var v=.166;var d=.2;var g=.6;var y=.1;var x=10;var b=2/x;var w={defaultRuleThickness:m,bigOpSpacing1:f,bigOpSpacing2:v,bigOpSpacing3:d,bigOpSpacing4:g,bigOpSpacing5:y,ptPerEm:x,doubleRuleSep:b};var k=e(\"./fontMetricsData\");var z={\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xc6\":\"A\",\"\\xc7\":\"C\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xd0\":\"D\",\"\\xd1\":\"N\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xdd\":\"Y\",\"\\xde\":\"o\",\"\\xdf\":\"B\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\"\\xe6\":\"a\",\"\\xe7\":\"c\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xf0\":\"d\",\"\\xf1\":\"n\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xfd\":\"y\",\"\\xfe\":\"o\",\"\\xff\":\"y\",\"\\u0410\":\"A\",\"\\u0411\":\"B\",\"\\u0412\":\"B\",\"\\u0413\":\"F\",\"\\u0414\":\"A\",\"\\u0415\":\"E\",\"\\u0416\":\"K\",\"\\u0417\":\"3\",\"\\u0418\":\"N\",\"\\u0419\":\"N\",\"\\u041a\":\"K\",\"\\u041b\":\"N\",\"\\u041c\":\"M\",\"\\u041d\":\"H\",\"\\u041e\":\"O\",\"\\u041f\":\"N\",\"\\u0420\":\"P\",\"\\u0421\":\"C\",\"\\u0422\":\"T\",\"\\u0423\":\"y\",\"\\u0424\":\"O\",\"\\u0425\":\"X\",\"\\u0426\":\"U\",\"\\u0427\":\"h\",\"\\u0428\":\"W\",\"\\u0429\":\"W\",\"\\u042a\":\"B\",\"\\u042b\":\"X\",\"\\u042c\":\"B\",\"\\u042d\":\"3\",\"\\u042e\":\"X\",\"\\u042f\":\"R\",\"\\u0430\":\"a\",\"\\u0431\":\"b\",\"\\u0432\":\"a\",\"\\u0433\":\"r\",\"\\u0434\":\"y\",\"\\u0435\":\"e\",\"\\u0436\":\"m\",\"\\u0437\":\"e\",\"\\u0438\":\"n\",\"\\u0439\":\"n\",\"\\u043a\":\"n\",\"\\u043b\":\"n\",\"\\u043c\":\"m\",\"\\u043d\":\"n\",\"\\u043e\":\"o\",\"\\u043f\":\"n\",\"\\u0440\":\"p\",\"\\u0441\":\"c\",\"\\u0442\":\"o\",\"\\u0443\":\"y\",\"\\u0444\":\"b\",\"\\u0445\":\"x\",\"\\u0446\":\"n\",\"\\u0447\":\"n\",\"\\u0448\":\"w\",\"\\u0449\":\"w\",\"\\u044a\":\"a\",\"\\u044b\":\"m\",\"\\u044c\":\"a\",\"\\u044d\":\"e\",\"\\u044e\":\"m\",\"\\u044f\":\"r\"};var S=function(e,t){var r=e.charCodeAt(0);if(e[0]in z){r=z[e[0]].charCodeAt(0)}else if(i.test(e[0])){r=\"M\".charCodeAt(0)}var a=k[t][r];if(a){return{depth:a[0],height:a[1],italic:a[2],skew:a[3],width:a[4]}}};t.exports={metrics:w,sigmas:n,getCharacterMetrics:S}},{\"./Style\":9,\"./fontMetricsData\":18,\"./unicodeRegexes\":24}],18:[function(e,t,r){t.exports={\"AMS-Regular\":{65:[0,.68889,0,0],66:[0,.68889,0,0],67:[0,.68889,0,0],68:[0,.68889,0,0],69:[0,.68889,0,0],70:[0,.68889,0,0],71:[0,.68889,0,0],72:[0,.68889,0,0],73:[0,.68889,0,0],74:[.16667,.68889,0,0],75:[0,.68889,0,0],76:[0,.68889,0,0],77:[0,.68889,0,0],78:[0,.68889,0,0],79:[.16667,.68889,0,0],80:[0,.68889,0,0],81:[.16667,.68889,0,0],82:[0,.68889,0,0],83:[0,.68889,0,0],84:[0,.68889,0,0],85:[0,.68889,0,0],86:[0,.68889,0,0],87:[0,.68889,0,0],88:[0,.68889,0,0],89:[0,.68889,0,0],90:[0,.68889,0,0],107:[0,.68889,0,0],165:[0,.675,.025,0],174:[.15559,.69224,0,0],240:[0,.68889,0,0],295:[0,.68889,0,0],710:[0,.825,0,0],732:[0,.9,0,0],770:[0,.825,0,0],771:[0,.9,0,0],989:[.08167,.58167,0,0],1008:[0,.43056,.04028,0],8245:[0,.54986,0,0],8463:[0,.68889,0,0],8487:[0,.68889,0,0],8498:[0,.68889,0,0],8502:[0,.68889,0,0],8503:[0,.68889,0,0],8504:[0,.68889,0,0],8513:[0,.68889,0,0],8592:[-.03598,.46402,0,0],8594:[-.03598,.46402,0,0],8602:[-.13313,.36687,0,0],8603:[-.13313,.36687,0,0],8606:[.01354,.52239,0,0],8608:[.01354,.52239,0,0],8610:[.01354,.52239,0,0],8611:[.01354,.52239,0,0],8619:[0,.54986,0,0],8620:[0,.54986,0,0],8621:[-.13313,.37788,0,0],8622:[-.13313,.36687,0,0],8624:[0,.69224,0,0],8625:[0,.69224,0,0],8630:[0,.43056,0,0],8631:[0,.43056,0,0],8634:[.08198,.58198,0,0],8635:[.08198,.58198,0,0],8638:[.19444,.69224,0,0],8639:[.19444,.69224,0,0],8642:[.19444,.69224,0,0],8643:[.19444,.69224,0,0],8644:[.1808,.675,0,0],8646:[.1808,.675,0,0],8647:[.1808,.675,0,0],8648:[.19444,.69224,0,0],8649:[.1808,.675,0,0],8650:[.19444,.69224,0,0],8651:[.01354,.52239,0,0],8652:[.01354,.52239,0,0],8653:[-.13313,.36687,0,0],8654:[-.13313,.36687,0,0],8655:[-.13313,.36687,0,0],8666:[.13667,.63667,0,0],8667:[.13667,.63667,0,0],8669:[-.13313,.37788,0,0],8672:[-.064,.437,0,0],8674:[-.064,.437,0,0],8705:[0,.825,0,0],8708:[0,.68889,0,0],8709:[.08167,.58167,0,0],8717:[0,.43056,0,0],8722:[-.03598,.46402,0,0],8724:[.08198,.69224,0,0],8726:[.08167,.58167,0,0],8733:[0,.69224,0,0],8736:[0,.69224,0,0],8737:[0,.69224,0,0],8738:[.03517,.52239,0,0],8739:[.08167,.58167,0,0],8740:[.25142,.74111,0,0],8741:[.08167,.58167,0,0],8742:[.25142,.74111,0,0],8756:[0,.69224,0,0],8757:[0,.69224,0,0],8764:[-.13313,.36687,0,0],8765:[-.13313,.37788,0,0],8769:[-.13313,.36687,0,0],8770:[-.03625,.46375,0,0],8774:[.30274,.79383,0,0],8776:[-.01688,.48312,0,0],8778:[.08167,.58167,0,0],8782:[.06062,.54986,0,0],8783:[.06062,.54986,0,0],8785:[.08198,.58198,0,0],8786:[.08198,.58198,0,0],8787:[.08198,.58198,0,0],8790:[0,.69224,0,0],8791:[.22958,.72958,0,0],8796:[.08198,.91667,0,0],8806:[.25583,.75583,0,0],\n8807:[.25583,.75583,0,0],8808:[.25142,.75726,0,0],8809:[.25142,.75726,0,0],8812:[.25583,.75583,0,0],8814:[.20576,.70576,0,0],8815:[.20576,.70576,0,0],8816:[.30274,.79383,0,0],8817:[.30274,.79383,0,0],8818:[.22958,.72958,0,0],8819:[.22958,.72958,0,0],8822:[.1808,.675,0,0],8823:[.1808,.675,0,0],8828:[.13667,.63667,0,0],8829:[.13667,.63667,0,0],8830:[.22958,.72958,0,0],8831:[.22958,.72958,0,0],8832:[.20576,.70576,0,0],8833:[.20576,.70576,0,0],8840:[.30274,.79383,0,0],8841:[.30274,.79383,0,0],8842:[.13597,.63597,0,0],8843:[.13597,.63597,0,0],8847:[.03517,.54986,0,0],8848:[.03517,.54986,0,0],8858:[.08198,.58198,0,0],8859:[.08198,.58198,0,0],8861:[.08198,.58198,0,0],8862:[0,.675,0,0],8863:[0,.675,0,0],8864:[0,.675,0,0],8865:[0,.675,0,0],8872:[0,.69224,0,0],8873:[0,.69224,0,0],8874:[0,.69224,0,0],8876:[0,.68889,0,0],8877:[0,.68889,0,0],8878:[0,.68889,0,0],8879:[0,.68889,0,0],8882:[.03517,.54986,0,0],8883:[.03517,.54986,0,0],8884:[.13667,.63667,0,0],8885:[.13667,.63667,0,0],8888:[0,.54986,0,0],8890:[.19444,.43056,0,0],8891:[.19444,.69224,0,0],8892:[.19444,.69224,0,0],8901:[0,.54986,0,0],8903:[.08167,.58167,0,0],8905:[.08167,.58167,0,0],8906:[.08167,.58167,0,0],8907:[0,.69224,0,0],8908:[0,.69224,0,0],8909:[-.03598,.46402,0,0],8910:[0,.54986,0,0],8911:[0,.54986,0,0],8912:[.03517,.54986,0,0],8913:[.03517,.54986,0,0],8914:[0,.54986,0,0],8915:[0,.54986,0,0],8916:[0,.69224,0,0],8918:[.0391,.5391,0,0],8919:[.0391,.5391,0,0],8920:[.03517,.54986,0,0],8921:[.03517,.54986,0,0],8922:[.38569,.88569,0,0],8923:[.38569,.88569,0,0],8926:[.13667,.63667,0,0],8927:[.13667,.63667,0,0],8928:[.30274,.79383,0,0],8929:[.30274,.79383,0,0],8934:[.23222,.74111,0,0],8935:[.23222,.74111,0,0],8936:[.23222,.74111,0,0],8937:[.23222,.74111,0,0],8938:[.20576,.70576,0,0],8939:[.20576,.70576,0,0],8940:[.30274,.79383,0,0],8941:[.30274,.79383,0,0],8994:[.19444,.69224,0,0],8995:[.19444,.69224,0,0],9416:[.15559,.69224,0,0],9484:[0,.69224,0,0],9488:[0,.69224,0,0],9492:[0,.37788,0,0],9496:[0,.37788,0,0],9585:[.19444,.68889,0,0],9586:[.19444,.74111,0,0],9632:[0,.675,0,0],9633:[0,.675,0,0],9650:[0,.54986,0,0],9651:[0,.54986,0,0],9654:[.03517,.54986,0,0],9660:[0,.54986,0,0],9661:[0,.54986,0,0],9664:[.03517,.54986,0,0],9674:[.11111,.69224,0,0],9733:[.19444,.69224,0,0],10003:[0,.69224,0,0],10016:[0,.69224,0,0],10731:[.11111,.69224,0,0],10846:[.19444,.75583,0,0],10877:[.13667,.63667,0,0],10878:[.13667,.63667,0,0],10885:[.25583,.75583,0,0],10886:[.25583,.75583,0,0],10887:[.13597,.63597,0,0],10888:[.13597,.63597,0,0],10889:[.26167,.75726,0,0],10890:[.26167,.75726,0,0],10891:[.48256,.98256,0,0],10892:[.48256,.98256,0,0],10901:[.13667,.63667,0,0],10902:[.13667,.63667,0,0],10933:[.25142,.75726,0,0],10934:[.25142,.75726,0,0],10935:[.26167,.75726,0,0],10936:[.26167,.75726,0,0],10937:[.26167,.75726,0,0],10938:[.26167,.75726,0,0],10949:[.25583,.75583,0,0],10950:[.25583,.75583,0,0],10955:[.28481,.79383,0,0],10956:[.28481,.79383,0,0],57350:[.08167,.58167,0,0],57351:[.08167,.58167,0,0],57352:[.08167,.58167,0,0],57353:[0,.43056,.04028,0],57356:[.25142,.75726,0,0],57357:[.25142,.75726,0,0],57358:[.41951,.91951,0,0],57359:[.30274,.79383,0,0],57360:[.30274,.79383,0,0],57361:[.41951,.91951,0,0],57366:[.25142,.75726,0,0],57367:[.25142,.75726,0,0],57368:[.25142,.75726,0,0],57369:[.25142,.75726,0,0],57370:[.13597,.63597,0,0],57371:[.13597,.63597,0,0]},\"Caligraphic-Regular\":{48:[0,.43056,0,0],49:[0,.43056,0,0],50:[0,.43056,0,0],51:[.19444,.43056,0,0],52:[.19444,.43056,0,0],53:[.19444,.43056,0,0],54:[0,.64444,0,0],55:[.19444,.43056,0,0],56:[0,.64444,0,0],57:[.19444,.43056,0,0],65:[0,.68333,0,.19445],66:[0,.68333,.03041,.13889],67:[0,.68333,.05834,.13889],68:[0,.68333,.02778,.08334],69:[0,.68333,.08944,.11111],70:[0,.68333,.09931,.11111],71:[.09722,.68333,.0593,.11111],72:[0,.68333,.00965,.11111],73:[0,.68333,.07382,0],74:[.09722,.68333,.18472,.16667],75:[0,.68333,.01445,.05556],76:[0,.68333,0,.13889],77:[0,.68333,0,.13889],78:[0,.68333,.14736,.08334],79:[0,.68333,.02778,.11111],80:[0,.68333,.08222,.08334],81:[.09722,.68333,0,.11111],82:[0,.68333,0,.08334],83:[0,.68333,.075,.13889],84:[0,.68333,.25417,0],85:[0,.68333,.09931,.08334],86:[0,.68333,.08222,0],87:[0,.68333,.08222,.08334],88:[0,.68333,.14643,.13889],89:[.09722,.68333,.08222,.08334],90:[0,.68333,.07944,.13889]},\"Fraktur-Regular\":{33:[0,.69141,0,0],34:[0,.69141,0,0],38:[0,.69141,0,0],39:[0,.69141,0,0],40:[.24982,.74947,0,0],41:[.24982,.74947,0,0],42:[0,.62119,0,0],43:[.08319,.58283,0,0],44:[0,.10803,0,0],45:[.08319,.58283,0,0],46:[0,.10803,0,0],47:[.24982,.74947,0,0],48:[0,.47534,0,0],49:[0,.47534,0,0],50:[0,.47534,0,0],51:[.18906,.47534,0,0],52:[.18906,.47534,0,0],53:[.18906,.47534,0,0],54:[0,.69141,0,0],55:[.18906,.47534,0,0],56:[0,.69141,0,0],57:[.18906,.47534,0,0],58:[0,.47534,0,0],59:[.12604,.47534,0,0],61:[-.13099,.36866,0,0],63:[0,.69141,0,0],65:[0,.69141,0,0],66:[0,.69141,0,0],67:[0,.69141,0,0],68:[0,.69141,0,0],69:[0,.69141,0,0],70:[.12604,.69141,0,0],71:[0,.69141,0,0],72:[.06302,.69141,0,0],73:[0,.69141,0,0],74:[.12604,.69141,0,0],75:[0,.69141,0,0],76:[0,.69141,0,0],77:[0,.69141,0,0],78:[0,.69141,0,0],79:[0,.69141,0,0],80:[.18906,.69141,0,0],81:[.03781,.69141,0,0],82:[0,.69141,0,0],83:[0,.69141,0,0],84:[0,.69141,0,0],85:[0,.69141,0,0],86:[0,.69141,0,0],87:[0,.69141,0,0],88:[0,.69141,0,0],89:[.18906,.69141,0,0],90:[.12604,.69141,0,0],91:[.24982,.74947,0,0],93:[.24982,.74947,0,0],94:[0,.69141,0,0],97:[0,.47534,0,0],98:[0,.69141,0,0],99:[0,.47534,0,0],100:[0,.62119,0,0],101:[0,.47534,0,0],102:[.18906,.69141,0,0],103:[.18906,.47534,0,0],104:[.18906,.69141,0,0],105:[0,.69141,0,0],106:[0,.69141,0,0],107:[0,.69141,0,0],108:[0,.69141,0,0],109:[0,.47534,0,0],110:[0,.47534,0,0],111:[0,.47534,0,0],112:[.18906,.52396,0,0],113:[.18906,.47534,0,0],114:[0,.47534,0,0],115:[0,.47534,0,0],116:[0,.62119,0,0],117:[0,.47534,0,0],118:[0,.52396,0,0],119:[0,.52396,0,0],120:[.18906,.47534,0,0],121:[.18906,.47534,0,0],122:[.18906,.47534,0,0],8216:[0,.69141,0,0],8217:[0,.69141,0,0],58112:[0,.62119,0,0],58113:[0,.62119,0,0],58114:[.18906,.69141,0,0],58115:[.18906,.69141,0,0],58116:[.18906,.47534,0,0],58117:[0,.69141,0,0],58118:[0,.62119,0,0],58119:[0,.47534,0,0]},\"Main-Bold\":{33:[0,.69444,0,0],34:[0,.69444,0,0],35:[.19444,.69444,0,0],36:[.05556,.75,0,0],37:[.05556,.75,0,0],38:[0,.69444,0,0],39:[0,.69444,0,0],40:[.25,.75,0,0],41:[.25,.75,0,0],42:[0,.75,0,0],43:[.13333,.63333,0,0],44:[.19444,.15556,0,0],45:[0,.44444,0,0],46:[0,.15556,0,0],47:[.25,.75,0,0],48:[0,.64444,0,0],49:[0,.64444,0,0],50:[0,.64444,0,0],51:[0,.64444,0,0],52:[0,.64444,0,0],53:[0,.64444,0,0],54:[0,.64444,0,0],55:[0,.64444,0,0],56:[0,.64444,0,0],57:[0,.64444,0,0],58:[0,.44444,0,0],59:[.19444,.44444,0,0],60:[.08556,.58556,0,0],61:[-.10889,.39111,0,0],62:[.08556,.58556,0,0],63:[0,.69444,0,0],64:[0,.69444,0,0],65:[0,.68611,0,0],66:[0,.68611,0,0],67:[0,.68611,0,0],68:[0,.68611,0,0],69:[0,.68611,0,0],70:[0,.68611,0,0],71:[0,.68611,0,0],72:[0,.68611,0,0],73:[0,.68611,0,0],74:[0,.68611,0,0],75:[0,.68611,0,0],76:[0,.68611,0,0],77:[0,.68611,0,0],78:[0,.68611,0,0],79:[0,.68611,0,0],80:[0,.68611,0,0],81:[.19444,.68611,0,0],82:[0,.68611,0,0],83:[0,.68611,0,0],84:[0,.68611,0,0],85:[0,.68611,0,0],86:[0,.68611,.01597,0],87:[0,.68611,.01597,0],88:[0,.68611,0,0],89:[0,.68611,.02875,0],90:[0,.68611,0,0],91:[.25,.75,0,0],92:[.25,.75,0,0],93:[.25,.75,0,0],94:[0,.69444,0,0],95:[.31,.13444,.03194,0],96:[0,.69444,0,0],97:[0,.44444,0,0],98:[0,.69444,0,0],99:[0,.44444,0,0],100:[0,.69444,0,0],101:[0,.44444,0,0],102:[0,.69444,.10903,0],103:[.19444,.44444,.01597,0],104:[0,.69444,0,0],105:[0,.69444,0,0],106:[.19444,.69444,0,0],107:[0,.69444,0,0],108:[0,.69444,0,0],109:[0,.44444,0,0],110:[0,.44444,0,0],111:[0,.44444,0,0],112:[.19444,.44444,0,0],113:[.19444,.44444,0,0],114:[0,.44444,0,0],115:[0,.44444,0,0],116:[0,.63492,0,0],117:[0,.44444,0,0],118:[0,.44444,.01597,0],119:[0,.44444,.01597,0],120:[0,.44444,0,0],121:[.19444,.44444,.01597,0],122:[0,.44444,0,0],123:[.25,.75,0,0],124:[.25,.75,0,0],125:[.25,.75,0,0],126:[.35,.34444,0,0],168:[0,.69444,0,0],172:[0,.44444,0,0],175:[0,.59611,0,0],176:[0,.69444,0,0],177:[.13333,.63333,0,0],180:[0,.69444,0,0],215:[.13333,.63333,0,0],247:[.13333,.63333,0,0],305:[0,.44444,0,0],567:[.19444,.44444,0,0],710:[0,.69444,0,0],711:[0,.63194,0,0],713:[0,.59611,0,0],714:[0,.69444,0,0],715:[0,.69444,0,0],728:[0,.69444,0,0],729:[0,.69444,0,0],730:[0,.69444,0,0],732:[0,.69444,0,0],768:[0,.69444,0,0],769:[0,.69444,0,0],770:[0,.69444,0,0],771:[0,.69444,0,0],772:[0,.59611,0,0],774:[0,.69444,0,0],775:[0,.69444,0,0],776:[0,.69444,0,0],778:[0,.69444,0,0],779:[0,.69444,0,0],780:[0,.63194,0,0],824:[.19444,.69444,0,0],915:[0,.68611,0,0],916:[0,.68611,0,0],920:[0,.68611,0,0],923:[0,.68611,0,0],926:[0,.68611,0,0],928:[0,.68611,0,0],931:[0,.68611,0,0],933:[0,.68611,0,0],934:[0,.68611,0,0],936:[0,.68611,0,0],937:[0,.68611,0,0],8211:[0,.44444,.03194,0],8212:[0,.44444,.03194,0],8216:[0,.69444,0,0],8217:[0,.69444,0,0],8220:[0,.69444,0,0],8221:[0,.69444,0,0],8224:[.19444,.69444,0,0],8225:[.19444,.69444,0,0],8242:[0,.55556,0,0],8407:[0,.72444,.15486,0],8463:[0,.69444,0,0],8465:[0,.69444,0,0],8467:[0,.69444,0,0],8472:[.19444,.44444,0,0],8476:[0,.69444,0,0],8501:[0,.69444,0,0],8592:[-.10889,.39111,0,0],8593:[.19444,.69444,0,0],8594:[-.10889,.39111,0,0],8595:[.19444,.69444,0,0],8596:[-.10889,.39111,0,0],8597:[.25,.75,0,0],8598:[.19444,.69444,0,0],8599:[.19444,.69444,0,0],8600:[.19444,.69444,0,0],8601:[.19444,.69444,0,0],8636:[-.10889,.39111,0,0],8637:[-.10889,.39111,0,0],8640:[-.10889,.39111,0,0],8641:[-.10889,.39111,0,0],8656:[-.10889,.39111,0,0],8657:[.19444,.69444,0,0],8658:[-.10889,.39111,0,0],8659:[.19444,.69444,0,0],8660:[-.10889,.39111,0,0],8661:[.25,.75,0,0],8704:[0,.69444,0,0],8706:[0,.69444,.06389,0],8707:[0,.69444,0,0],8709:[.05556,.75,0,0],8711:[0,.68611,0,0],8712:[.08556,.58556,0,0],8715:[.08556,.58556,0,0],8722:[.13333,.63333,0,0],8723:[.13333,.63333,0,0],8725:[.25,.75,0,0],8726:[.25,.75,0,0],8727:[-.02778,.47222,0,0],8728:[-.02639,.47361,0,0],8729:[-.02639,.47361,0,0],8730:[.18,.82,0,0],8733:[0,.44444,0,0],8734:[0,.44444,0,0],8736:[0,.69224,0,0],8739:[.25,.75,0,0],8741:[.25,.75,0,0],8743:[0,.55556,0,0],8744:[0,.55556,0,0],8745:[0,.55556,0,0],8746:[0,.55556,0,0],8747:[.19444,.69444,.12778,0],8764:[-.10889,.39111,0,0],8768:[.19444,.69444,0,0],8771:[.00222,.50222,0,0],8776:[.02444,.52444,0,0],8781:[.00222,.50222,0,0],8801:[.00222,.50222,0,0],8804:[.19667,.69667,0,0],8805:[.19667,.69667,0,0],8810:[.08556,.58556,0,0],8811:[.08556,.58556,0,0],8826:[.08556,.58556,0,0],8827:[.08556,.58556,0,0],8834:[.08556,.58556,0,0],8835:[.08556,.58556,0,0],8838:[.19667,.69667,0,0],8839:[.19667,.69667,0,0],8846:[0,.55556,0,0],8849:[.19667,.69667,0,0],8850:[.19667,.69667,0,0],8851:[0,.55556,0,0],8852:[0,.55556,0,0],8853:[.13333,.63333,0,0],8854:[.13333,.63333,0,0],8855:[.13333,.63333,0,0],8856:[.13333,.63333,0,0],8857:[.13333,.63333,0,0],8866:[0,.69444,0,0],8867:[0,.69444,0,0],8868:[0,.69444,0,0],8869:[0,.69444,0,0],8900:[-.02639,.47361,0,0],8901:[-.02639,.47361,0,0],8902:[-.02778,.47222,0,0],8968:[.25,.75,0,0],8969:[.25,.75,0,0],8970:[.25,.75,0,0],8971:[.25,.75,0,0],8994:[-.13889,.36111,0,0],8995:[-.13889,.36111,0,0],9651:[.19444,.69444,0,0],9657:[-.02778,.47222,0,0],9661:[.19444,.69444,0,0],9667:[-.02778,.47222,0,0],9711:[.19444,.69444,0,0],9824:[.12963,.69444,0,0],9825:[.12963,.69444,0,0],9826:[.12963,.69444,0,0],9827:[.12963,.69444,0,0],9837:[0,.75,0,0],9838:[.19444,.69444,0,0],9839:[.19444,.69444,0,0],10216:[.25,.75,0,0],10217:[.25,.75,0,0],10815:[0,.68611,0,0],10927:[.19667,.69667,0,0],10928:[.19667,.69667,0,0]},\"Main-Italic\":{33:[0,.69444,.12417,0],34:[0,.69444,.06961,0],35:[.19444,.69444,.06616,0],37:[.05556,.75,.13639,0],38:[0,.69444,.09694,0],39:[0,.69444,.12417,0],40:[.25,.75,.16194,0],41:[.25,.75,.03694,0],42:[0,.75,.14917,0],43:[.05667,.56167,.03694,0],44:[.19444,.10556,0,0],45:[0,.43056,.02826,0],46:[0,.10556,0,0],47:[.25,.75,.16194,0],48:[0,.64444,.13556,0],49:[0,.64444,.13556,0],50:[0,.64444,.13556,0],51:[0,.64444,.13556,0],52:[.19444,.64444,.13556,0],53:[0,.64444,.13556,0],54:[0,.64444,.13556,0],55:[.19444,.64444,.13556,0],56:[0,.64444,.13556,0],57:[0,.64444,.13556,0],58:[0,.43056,.0582,0],59:[.19444,.43056,.0582,0],61:[-.13313,.36687,.06616,0],63:[0,.69444,.1225,0],64:[0,.69444,.09597,0],65:[0,.68333,0,0],66:[0,.68333,.10257,0],67:[0,.68333,.14528,0],68:[0,.68333,.09403,0],69:[0,.68333,.12028,0],70:[0,.68333,.13305,0],71:[0,.68333,.08722,0],72:[0,.68333,.16389,0],73:[0,.68333,.15806,0],74:[0,.68333,.14028,0],75:[0,.68333,.14528,0],76:[0,.68333,0,0],77:[0,.68333,.16389,0],78:[0,.68333,.16389,0],79:[0,.68333,.09403,0],80:[0,.68333,.10257,0],81:[.19444,.68333,.09403,0],82:[0,.68333,.03868,0],83:[0,.68333,.11972,0],84:[0,.68333,.13305,0],85:[0,.68333,.16389,0],86:[0,.68333,.18361,0],87:[0,.68333,.18361,0],88:[0,.68333,.15806,0],89:[0,.68333,.19383,0],90:[0,.68333,.14528,0],91:[.25,.75,.1875,0],93:[.25,.75,.10528,0],94:[0,.69444,.06646,0],95:[.31,.12056,.09208,0],97:[0,.43056,.07671,0],98:[0,.69444,.06312,0],99:[0,.43056,.05653,0],100:[0,.69444,.10333,0],101:[0,.43056,.07514,0],102:[.19444,.69444,.21194,0],103:[.19444,.43056,.08847,0],104:[0,.69444,.07671,0],105:[0,.65536,.1019,0],106:[.19444,.65536,.14467,0],107:[0,.69444,.10764,0],108:[0,.69444,.10333,0],109:[0,.43056,.07671,0],110:[0,.43056,.07671,0],111:[0,.43056,.06312,0],112:[.19444,.43056,.06312,0],113:[.19444,.43056,.08847,0],114:[0,.43056,.10764,0],115:[0,.43056,.08208,0],116:[0,.61508,.09486,0],117:[0,.43056,.07671,0],118:[0,.43056,.10764,0],119:[0,.43056,.10764,0],120:[0,.43056,.12042,0],121:[.19444,.43056,.08847,0],122:[0,.43056,.12292,0],126:[.35,.31786,.11585,0],163:[0,.69444,0,0],305:[0,.43056,0,.02778],567:[.19444,.43056,0,.08334],768:[0,.69444,0,0],769:[0,.69444,.09694,0],770:[0,.69444,.06646,0],771:[0,.66786,.11585,0],772:[0,.56167,.10333,0],774:[0,.69444,.10806,0],775:[0,.66786,.11752,0],776:[0,.66786,.10474,0],778:[0,.69444,0,0],779:[0,.69444,.1225,0],780:[0,.62847,.08295,0],915:[0,.68333,.13305,0],916:[0,.68333,0,0],920:[0,.68333,.09403,0],923:[0,.68333,0,0],926:[0,.68333,.15294,0],928:[0,.68333,.16389,0],931:[0,.68333,.12028,0],933:[0,.68333,.11111,0],934:[0,.68333,.05986,0],936:[0,.68333,.11111,0],937:[0,.68333,.10257,0],8211:[0,.43056,.09208,0],8212:[0,.43056,.09208,0],8216:[0,.69444,.12417,0],8217:[0,.69444,.12417,0],8220:[0,.69444,.1685,0],8221:[0,.69444,.06961,0],8463:[0,.68889,0,0]},\"Main-Regular\":{32:[0,0,0,0],33:[0,.69444,0,0],34:[0,.69444,0,0],35:[.19444,.69444,0,0],36:[.05556,.75,0,0],37:[.05556,.75,0,0],38:[0,.69444,0,0],39:[0,.69444,0,0],40:[.25,.75,0,0],41:[.25,.75,0,0],42:[0,.75,0,0],43:[.08333,.58333,0,0],44:[.19444,.10556,0,0],45:[0,.43056,0,0],46:[0,.10556,0,0],47:[.25,.75,0,0],48:[0,.64444,0,0],49:[0,.64444,0,0],50:[0,.64444,0,0],51:[0,.64444,0,0],52:[0,.64444,0,0],53:[0,.64444,0,0],54:[0,.64444,0,0],55:[0,.64444,0,0],56:[0,.64444,0,0],57:[0,.64444,0,0],58:[0,.43056,0,0],59:[.19444,.43056,0,0],60:[.0391,.5391,0,0],61:[-.13313,.36687,0,0],62:[.0391,.5391,0,0],63:[0,.69444,0,0],64:[0,.69444,0,0],65:[0,.68333,0,0],66:[0,.68333,0,0],67:[0,.68333,0,0],68:[0,.68333,0,0],69:[0,.68333,0,0],70:[0,.68333,0,0],71:[0,.68333,0,0],72:[0,.68333,0,0],73:[0,.68333,0,0],74:[0,.68333,0,0],75:[0,.68333,0,0],76:[0,.68333,0,0],77:[0,.68333,0,0],78:[0,.68333,0,0],79:[0,.68333,0,0],80:[0,.68333,0,0],81:[.19444,.68333,0,0],82:[0,.68333,0,0],83:[0,.68333,0,0],84:[0,.68333,0,0],85:[0,.68333,0,0],86:[0,.68333,.01389,0],87:[0,.68333,.01389,0],88:[0,.68333,0,0],89:[0,.68333,.025,0],90:[0,.68333,0,0],91:[.25,.75,0,0],92:[.25,.75,0,0],93:[.25,.75,0,0],94:[0,.69444,0,0],95:[.31,.12056,.02778,0],96:[0,.69444,0,0],97:[0,.43056,0,0],98:[0,.69444,0,0],99:[0,.43056,0,0],100:[0,.69444,0,0],101:[0,.43056,0,0],102:[0,.69444,.07778,0],103:[.19444,.43056,.01389,0],104:[0,.69444,0,0],105:[0,.66786,0,0],106:[.19444,.66786,0,0],107:[0,.69444,0,0],108:[0,.69444,0,0],109:[0,.43056,0,0],110:[0,.43056,0,0],111:[0,.43056,0,0],112:[.19444,.43056,0,0],113:[.19444,.43056,0,0],114:[0,.43056,0,0],115:[0,.43056,0,0],116:[0,.61508,0,0],117:[0,.43056,0,0],118:[0,.43056,.01389,0],119:[0,.43056,.01389,0],120:[0,.43056,0,0],121:[.19444,.43056,.01389,0],122:[0,.43056,0,0],123:[.25,.75,0,0],124:[.25,.75,0,0],125:[.25,.75,0,0],126:[.35,.31786,0,0],160:[0,0,0,0],168:[0,.66786,0,0],172:[0,.43056,0,0],175:[0,.56778,0,0],176:[0,.69444,0,0],177:[.08333,.58333,0,0],180:[0,.69444,0,0],215:[.08333,.58333,0,0],247:[.08333,.58333,0,0],305:[0,.43056,0,0],567:[.19444,.43056,0,0],710:[0,.69444,0,0],711:[0,.62847,0,0],713:[0,.56778,0,0],714:[0,.69444,0,0],715:[0,.69444,0,0],728:[0,.69444,0,0],729:[0,.66786,0,0],730:[0,.69444,0,0],732:[0,.66786,0,0],768:[0,.69444,0,0],769:[0,.69444,0,0],770:[0,.69444,0,0],771:[0,.66786,0,0],772:[0,.56778,0,0],774:[0,.69444,0,0],775:[0,.66786,0,0],776:[0,.66786,0,0],778:[0,.69444,0,0],779:[0,.69444,0,0],780:[0,.62847,0,0],824:[.19444,.69444,0,0],915:[0,.68333,0,0],916:[0,.68333,0,0],920:[0,.68333,0,0],923:[0,.68333,0,0],926:[0,.68333,0,0],928:[0,.68333,0,0],931:[0,.68333,0,0],933:[0,.68333,0,0],934:[0,.68333,0,0],936:[0,.68333,0,0],937:[0,.68333,0,0],8211:[0,.43056,.02778,0],8212:[0,.43056,.02778,0],8216:[0,.69444,0,0],8217:[0,.69444,0,0],8220:[0,.69444,0,0],8221:[0,.69444,0,0],8224:[.19444,.69444,0,0],8225:[.19444,.69444,0,0],8230:[0,.12,0,0],8242:[0,.55556,0,0],8407:[0,.71444,.15382,0],8463:[0,.68889,0,0],8465:[0,.69444,0,0],8467:[0,.69444,0,.11111],8472:[.19444,.43056,0,.11111],8476:[0,.69444,0,0],8501:[0,.69444,0,0],8592:[-.13313,.36687,0,0],8593:[.19444,.69444,0,0],8594:[-.13313,.36687,0,0],8595:[.19444,.69444,0,0],8596:[-.13313,.36687,0,0],8597:[.25,.75,0,0],8598:[.19444,.69444,0,0],8599:[.19444,.69444,0,0],8600:[.19444,.69444,0,0],8601:[.19444,.69444,0,0],8614:[.011,.511,0,0],8617:[.011,.511,0,0],8618:[.011,.511,0,0],8636:[-.13313,.36687,0,0],8637:[-.13313,.36687,0,0],8640:[-.13313,.36687,0,0],8641:[-.13313,.36687,0,0],8652:[.011,.671,0,0],8656:[-.13313,.36687,0,0],8657:[.19444,.69444,0,0],8658:[-.13313,.36687,0,0],8659:[.19444,.69444,0,0],8660:[-.13313,.36687,0,0],8661:[.25,.75,0,0],8704:[0,.69444,0,0],8706:[0,.69444,.05556,.08334],8707:[0,.69444,0,0],8709:[.05556,.75,0,0],8711:[0,.68333,0,0],8712:[.0391,.5391,0,0],8715:[.0391,.5391,0,0],8722:[.08333,.58333,0,0],8723:[.08333,.58333,0,0],8725:[.25,.75,0,0],8726:[.25,.75,0,0],8727:[-.03472,.46528,0,0],8728:[-.05555,.44445,0,0],8729:[-.05555,.44445,0,0],8730:[.2,.8,0,0],8733:[0,.43056,0,0],8734:[0,.43056,0,0],8736:[0,.69224,0,0],8739:[.25,.75,0,0],8741:[.25,.75,0,0],8743:[0,.55556,0,0],8744:[0,.55556,0,0],8745:[0,.55556,0,0],8746:[0,.55556,0,0],8747:[.19444,.69444,.11111,0],8764:[-.13313,.36687,0,0],8768:[.19444,.69444,0,0],8771:[-.03625,.46375,0,0],8773:[-.022,.589,0,0],8776:[-.01688,.48312,0,0],8781:[-.03625,.46375,0,0],8784:[-.133,.67,0,0],8800:[.215,.716,0,0],8801:[-.03625,.46375,0,0],8804:[.13597,.63597,0,0],8805:[.13597,.63597,0,0],8810:[.0391,.5391,0,0],8811:[.0391,.5391,0,0],8826:[.0391,.5391,0,0],8827:[.0391,.5391,0,0],8834:[.0391,.5391,0,0],8835:[.0391,.5391,0,0],8838:[.13597,.63597,0,0],8839:[.13597,.63597,0,0],8846:[0,.55556,0,0],8849:[.13597,.63597,0,0],8850:[.13597,.63597,0,0],8851:[0,.55556,0,0],8852:[0,.55556,0,0],8853:[.08333,.58333,0,0],8854:[.08333,.58333,0,0],8855:[.08333,.58333,0,0],8856:[.08333,.58333,0,0],8857:[.08333,.58333,0,0],8866:[0,.69444,0,0],8867:[0,.69444,0,0],8868:[0,.69444,0,0],8869:[0,.69444,0,0],8872:[.249,.75,0,0],8900:[-.05555,.44445,0,0],8901:[-.05555,.44445,0,0],8902:[-.03472,.46528,0,0],8904:[.005,.505,0,0],8942:[.03,.9,0,0],8943:[-.19,.31,0,0],8945:[-.1,.82,0,0],8968:[.25,.75,0,0],8969:[.25,.75,0,0],8970:[.25,.75,0,0],8971:[.25,.75,0,0],8994:[-.14236,.35764,0,0],8995:[-.14236,.35764,0,0],9136:[.244,.744,0,0],9137:[.244,.744,0,0],9651:[.19444,.69444,0,0],9657:[-.03472,.46528,0,0],9661:[.19444,.69444,0,0],9667:[-.03472,.46528,0,0],9711:[.19444,.69444,0,0],9824:[.12963,.69444,0,0],9825:[.12963,.69444,0,0],9826:[.12963,.69444,0,0],9827:[.12963,.69444,0,0],9837:[0,.75,0,0],9838:[.19444,.69444,0,0],9839:[.19444,.69444,0,0],10216:[.25,.75,0,0],10217:[.25,.75,0,0],10222:[.244,.744,0,0],10223:[.244,.744,0,0],10229:[.011,.511,0,0],10230:[.011,.511,0,0],10231:[.011,.511,0,0],10232:[.024,.525,0,0],10233:[.024,.525,0,0],10234:[.024,.525,0,0],10236:[.011,.511,0,0],10815:[0,.68333,0,0],10927:[.13597,.63597,0,0],10928:[.13597,.63597,0,0]},\"Math-BoldItalic\":{47:[.19444,.69444,0,0],65:[0,.68611,0,0],66:[0,.68611,.04835,0],67:[0,.68611,.06979,0],68:[0,.68611,.03194,0],69:[0,.68611,.05451,0],70:[0,.68611,.15972,0],71:[0,.68611,0,0],72:[0,.68611,.08229,0],73:[0,.68611,.07778,0],74:[0,.68611,.10069,0],75:[0,.68611,.06979,0],76:[0,.68611,0,0],77:[0,.68611,.11424,0],78:[0,.68611,.11424,0],79:[0,.68611,.03194,0],80:[0,.68611,.15972,0],81:[.19444,.68611,0,0],82:[0,.68611,.00421,0],83:[0,.68611,.05382,0],84:[0,.68611,.15972,0],85:[0,.68611,.11424,0],86:[0,.68611,.25555,0],87:[0,.68611,.15972,0],88:[0,.68611,.07778,0],89:[0,.68611,.25555,0],90:[0,.68611,.06979,0],97:[0,.44444,0,0],98:[0,.69444,0,0],99:[0,.44444,0,0],100:[0,.69444,0,0],101:[0,.44444,0,0],102:[.19444,.69444,.11042,0],103:[.19444,.44444,.03704,0],104:[0,.69444,0,0],105:[0,.69326,0,0],106:[.19444,.69326,.0622,0],107:[0,.69444,.01852,0],108:[0,.69444,.0088,0],109:[0,.44444,0,0],110:[0,.44444,0,0],111:[0,.44444,0,0],112:[.19444,.44444,0,0],113:[.19444,.44444,.03704,0],114:[0,.44444,.03194,0],115:[0,.44444,0,0],116:[0,.63492,0,0],117:[0,.44444,0,0],118:[0,.44444,.03704,0],119:[0,.44444,.02778,0],120:[0,.44444,0,0],121:[.19444,.44444,.03704,0],122:[0,.44444,.04213,0],915:[0,.68611,.15972,0],916:[0,.68611,0,0],920:[0,.68611,.03194,0],923:[0,.68611,0,0],926:[0,.68611,.07458,0],928:[0,.68611,.08229,0],931:[0,.68611,.05451,0],933:[0,.68611,.15972,0],934:[0,.68611,0,0],936:[0,.68611,.11653,0],937:[0,.68611,.04835,0],945:[0,.44444,0,0],946:[.19444,.69444,.03403,0],947:[.19444,.44444,.06389,0],948:[0,.69444,.03819,0],949:[0,.44444,0,0],950:[.19444,.69444,.06215,0],951:[.19444,.44444,.03704,0],952:[0,.69444,.03194,0],953:[0,.44444,0,0],954:[0,.44444,0,0],955:[0,.69444,0,0],956:[.19444,.44444,0,0],957:[0,.44444,.06898,0],958:[.19444,.69444,.03021,0],959:[0,.44444,0,0],960:[0,.44444,.03704,0],961:[.19444,.44444,0,0],962:[.09722,.44444,.07917,0],963:[0,.44444,.03704,0],964:[0,.44444,.13472,0],965:[0,.44444,.03704,0],966:[.19444,.44444,0,0],967:[.19444,.44444,0,0],968:[.19444,.69444,.03704,0],969:[0,.44444,.03704,0],977:[0,.69444,0,0],981:[.19444,.69444,0,0],982:[0,.44444,.03194,0],1009:[.19444,.44444,0,0],1013:[0,.44444,0,0]},\"Math-Italic\":{47:[.19444,.69444,0,0],65:[0,.68333,0,.13889],66:[0,.68333,.05017,.08334],67:[0,.68333,.07153,.08334],68:[0,.68333,.02778,.05556],69:[0,.68333,.05764,.08334],70:[0,.68333,.13889,.08334],71:[0,.68333,0,.08334],72:[0,.68333,.08125,.05556],73:[0,.68333,.07847,.11111],74:[0,.68333,.09618,.16667],75:[0,.68333,.07153,.05556],76:[0,.68333,0,.02778],77:[0,.68333,.10903,.08334],78:[0,.68333,.10903,.08334],79:[0,.68333,.02778,.08334],80:[0,.68333,.13889,.08334],81:[.19444,.68333,0,.08334],82:[0,.68333,.00773,.08334],83:[0,.68333,.05764,.08334],84:[0,.68333,.13889,.08334],85:[0,.68333,.10903,.02778],86:[0,.68333,.22222,0],87:[0,.68333,.13889,0],88:[0,.68333,.07847,.08334],89:[0,.68333,.22222,0],90:[0,.68333,.07153,.08334],97:[0,.43056,0,0],98:[0,.69444,0,0],99:[0,.43056,0,.05556],100:[0,.69444,0,.16667],101:[0,.43056,0,.05556],102:[.19444,.69444,.10764,.16667],103:[.19444,.43056,.03588,.02778],104:[0,.69444,0,0],105:[0,.65952,0,0],106:[.19444,.65952,.05724,0],107:[0,.69444,.03148,0],108:[0,.69444,.01968,.08334],109:[0,.43056,0,0],110:[0,.43056,0,0],111:[0,.43056,0,.05556],112:[.19444,.43056,0,.08334],113:[.19444,.43056,.03588,.08334],114:[0,.43056,.02778,.05556],115:[0,.43056,0,.05556],116:[0,.61508,0,.08334],117:[0,.43056,0,.02778],118:[0,.43056,.03588,.02778],119:[0,.43056,.02691,.08334],120:[0,.43056,0,.02778],121:[.19444,.43056,.03588,.05556],122:[0,.43056,.04398,.05556],915:[0,.68333,.13889,.08334],916:[0,.68333,0,.16667],920:[0,.68333,.02778,.08334],923:[0,.68333,0,.16667],926:[0,.68333,.07569,.08334],928:[0,.68333,.08125,.05556],931:[0,.68333,.05764,.08334],933:[0,.68333,.13889,.05556],934:[0,.68333,0,.08334],936:[0,.68333,.11,.05556],937:[0,.68333,.05017,.08334],945:[0,.43056,.0037,.02778],946:[.19444,.69444,.05278,.08334],947:[.19444,.43056,.05556,0],948:[0,.69444,.03785,.05556],949:[0,.43056,0,.08334],950:[.19444,.69444,.07378,.08334],951:[.19444,.43056,.03588,.05556],952:[0,.69444,.02778,.08334],953:[0,.43056,0,.05556],954:[0,.43056,0,0],955:[0,.69444,0,0],956:[.19444,.43056,0,.02778],957:[0,.43056,.06366,.02778],958:[.19444,.69444,.04601,.11111],959:[0,.43056,0,.05556],960:[0,.43056,.03588,0],961:[.19444,.43056,0,.08334],962:[.09722,.43056,.07986,.08334],963:[0,.43056,.03588,0],964:[0,.43056,.1132,.02778],965:[0,.43056,.03588,.02778],966:[.19444,.43056,0,.08334],967:[.19444,.43056,0,.05556],968:[.19444,.69444,.03588,.11111],969:[0,.43056,.03588,0],977:[0,.69444,0,.08334],981:[.19444,.69444,0,.08334],982:[0,.43056,.02778,0],1009:[.19444,.43056,0,.08334],1013:[0,.43056,0,.05556]},\"Math-Regular\":{65:[0,.68333,0,.13889],66:[0,.68333,.05017,.08334],67:[0,.68333,.07153,.08334],68:[0,.68333,.02778,.05556],69:[0,.68333,.05764,.08334],70:[0,.68333,.13889,.08334],71:[0,.68333,0,.08334],72:[0,.68333,.08125,.05556],73:[0,.68333,.07847,.11111],74:[0,.68333,.09618,.16667],75:[0,.68333,.07153,.05556],76:[0,.68333,0,.02778],77:[0,.68333,.10903,.08334],78:[0,.68333,.10903,.08334],79:[0,.68333,.02778,.08334],80:[0,.68333,.13889,.08334],81:[.19444,.68333,0,.08334],82:[0,.68333,.00773,.08334],83:[0,.68333,.05764,.08334],84:[0,.68333,.13889,.08334],85:[0,.68333,.10903,.02778],86:[0,.68333,.22222,0],87:[0,.68333,.13889,0],88:[0,.68333,.07847,.08334],89:[0,.68333,.22222,0],90:[0,.68333,.07153,.08334],97:[0,.43056,0,0],98:[0,.69444,0,0],99:[0,.43056,0,.05556],100:[0,.69444,0,.16667],101:[0,.43056,0,.05556],102:[.19444,.69444,.10764,.16667],103:[.19444,.43056,.03588,.02778],104:[0,.69444,0,0],105:[0,.65952,0,0],106:[.19444,.65952,.05724,0],107:[0,.69444,.03148,0],108:[0,.69444,.01968,.08334],109:[0,.43056,0,0],110:[0,.43056,0,0],111:[0,.43056,0,.05556],112:[.19444,.43056,0,.08334],113:[.19444,.43056,.03588,.08334],114:[0,.43056,.02778,.05556],115:[0,.43056,0,.05556],116:[0,.61508,0,.08334],117:[0,.43056,0,.02778],118:[0,.43056,.03588,.02778],119:[0,.43056,.02691,.08334],120:[0,.43056,0,.02778],121:[.19444,.43056,.03588,.05556],122:[0,.43056,.04398,.05556],915:[0,.68333,.13889,.08334],916:[0,.68333,0,.16667],920:[0,.68333,.02778,.08334],923:[0,.68333,0,.16667],926:[0,.68333,.07569,.08334],928:[0,.68333,.08125,.05556],931:[0,.68333,.05764,.08334],933:[0,.68333,.13889,.05556],934:[0,.68333,0,.08334],936:[0,.68333,.11,.05556],937:[0,.68333,.05017,.08334],945:[0,.43056,.0037,.02778],946:[.19444,.69444,.05278,.08334],947:[.19444,.43056,.05556,0],948:[0,.69444,.03785,.05556],949:[0,.43056,0,.08334],950:[.19444,.69444,.07378,.08334],951:[.19444,.43056,.03588,.05556],952:[0,.69444,.02778,.08334],953:[0,.43056,0,.05556],954:[0,.43056,0,0],955:[0,.69444,0,0],956:[.19444,.43056,0,.02778],957:[0,.43056,.06366,.02778],958:[.19444,.69444,.04601,.11111],959:[0,.43056,0,.05556],960:[0,.43056,.03588,0],961:[.19444,.43056,0,.08334],962:[.09722,.43056,.07986,.08334],963:[0,.43056,.03588,0],964:[0,.43056,.1132,.02778],965:[0,.43056,.03588,.02778],966:[.19444,.43056,0,.08334],967:[.19444,.43056,0,.05556],968:[.19444,.69444,.03588,.11111],969:[0,.43056,.03588,0],977:[0,.69444,0,.08334],981:[.19444,.69444,0,.08334],982:[0,.43056,.02778,0],1009:[.19444,.43056,0,.08334],1013:[0,.43056,0,.05556]},\"SansSerif-Regular\":{33:[0,.69444,0,0],34:[0,.69444,0,0],35:[.19444,.69444,0,0],36:[.05556,.75,0,0],37:[.05556,.75,0,0],38:[0,.69444,0,0],39:[0,.69444,0,0],40:[.25,.75,0,0],41:[.25,.75,0,0],42:[0,.75,0,0],43:[.08333,.58333,0,0],44:[.125,.08333,0,0],45:[0,.44444,0,0],46:[0,.08333,0,0],47:[.25,.75,0,0],48:[0,.65556,0,0],49:[0,.65556,0,0],50:[0,.65556,0,0],51:[0,.65556,0,0],52:[0,.65556,0,0],53:[0,.65556,0,0],54:[0,.65556,0,0],55:[0,.65556,0,0],56:[0,.65556,0,0],57:[0,.65556,0,0],58:[0,.44444,0,0],59:[.125,.44444,0,0],61:[-.13,.37,0,0],63:[0,.69444,0,0],64:[0,.69444,0,0],65:[0,.69444,0,0],66:[0,.69444,0,0],67:[0,.69444,0,0],68:[0,.69444,0,0],69:[0,.69444,0,0],70:[0,.69444,0,0],71:[0,.69444,0,0],72:[0,.69444,0,0],73:[0,.69444,0,0],74:[0,.69444,0,0],75:[0,.69444,0,0],76:[0,.69444,0,0],77:[0,.69444,0,0],78:[0,.69444,0,0],79:[0,.69444,0,0],80:[0,.69444,0,0],81:[.125,.69444,0,0],82:[0,.69444,0,0],83:[0,.69444,0,0],84:[0,.69444,0,0],85:[0,.69444,0,0],86:[0,.69444,.01389,0],87:[0,.69444,.01389,0],88:[0,.69444,0,0],89:[0,.69444,.025,0],90:[0,.69444,0,0],91:[.25,.75,0,0],93:[.25,.75,0,0],94:[0,.69444,0,0],95:[.35,.09444,.02778,0],97:[0,.44444,0,0],98:[0,.69444,0,0],99:[0,.44444,0,0],100:[0,.69444,0,0],101:[0,.44444,0,0],102:[0,.69444,.06944,0],103:[.19444,.44444,.01389,0],104:[0,.69444,0,0],105:[0,.67937,0,0],106:[.19444,.67937,0,0],107:[0,.69444,0,0],108:[0,.69444,0,0],109:[0,.44444,0,0],110:[0,.44444,0,0],111:[0,.44444,0,0],112:[.19444,.44444,0,0],113:[.19444,.44444,0,0],114:[0,.44444,.01389,0],115:[0,.44444,0,0],116:[0,.57143,0,0],117:[0,.44444,0,0],118:[0,.44444,.01389,0],119:[0,.44444,.01389,0],120:[0,.44444,0,0],121:[.19444,.44444,.01389,0],122:[0,.44444,0,0],126:[.35,.32659,0,0],305:[0,.44444,0,0],567:[.19444,.44444,0,0],768:[0,.69444,0,0],769:[0,.69444,0,0],770:[0,.69444,0,0],771:[0,.67659,0,0],772:[0,.60889,0,0],774:[0,.69444,0,0],775:[0,.67937,0,0],776:[0,.67937,0,0],778:[0,.69444,0,0],779:[0,.69444,0,0],780:[0,.63194,0,0],915:[0,.69444,0,0],916:[0,.69444,0,0],920:[0,.69444,0,0],923:[0,.69444,0,0],926:[0,.69444,0,0],928:[0,.69444,0,0],931:[0,.69444,0,0],933:[0,.69444,0,0],934:[0,.69444,0,0],936:[0,.69444,0,0],937:[0,.69444,0,0],8211:[0,.44444,.02778,0],8212:[0,.44444,.02778,0],8216:[0,.69444,0,0],8217:[0,.69444,0,0],8220:[0,.69444,0,0],8221:[0,.69444,0,0]},\"Script-Regular\":{65:[0,.7,.22925,0],66:[0,.7,.04087,0],67:[0,.7,.1689,0],68:[0,.7,.09371,0],69:[0,.7,.18583,0],70:[0,.7,.13634,0],71:[0,.7,.17322,0],72:[0,.7,.29694,0],73:[0,.7,.19189,0],74:[.27778,.7,.19189,0],75:[0,.7,.31259,0],76:[0,.7,.19189,0],77:[0,.7,.15981,0],78:[0,.7,.3525,0],79:[0,.7,.08078,0],80:[0,.7,.08078,0],81:[0,.7,.03305,0],82:[0,.7,.06259,0],83:[0,.7,.19189,0],84:[0,.7,.29087,0],85:[0,.7,.25815,0],86:[0,.7,.27523,0],87:[0,.7,.27523,0],88:[0,.7,.26006,0],89:[0,.7,.2939,0],90:[0,.7,.24037,0]},\"Size1-Regular\":{40:[.35001,.85,0,0],41:[.35001,.85,0,0],47:[.35001,.85,0,0],91:[.35001,.85,0,0],92:[.35001,.85,0,0],93:[.35001,.85,0,0],123:[.35001,.85,0,0],125:[.35001,.85,0,0],710:[0,.72222,0,0],732:[0,.72222,0,0],770:[0,.72222,0,0],771:[0,.72222,0,0],8214:[-99e-5,.601,0,0],8593:[1e-5,.6,0,0],8595:[1e-5,.6,0,0],8657:[1e-5,.6,0,0],8659:[1e-5,.6,0,0],8719:[.25001,.75,0,0],8720:[.25001,.75,0,0],8721:[.25001,.75,0,0],8730:[.35001,.85,0,0],8739:[-.00599,.606,0,0],8741:[-.00599,.606,0,0],8747:[.30612,.805,.19445,0],8748:[.306,.805,.19445,0],8749:[.306,.805,.19445,0],8750:[.30612,.805,.19445,0],8896:[.25001,.75,0,0],8897:[.25001,.75,0,0],8898:[.25001,.75,0,0],8899:[.25001,.75,0,0],8968:[.35001,.85,0,0],8969:[.35001,.85,0,0],8970:[.35001,.85,0,0],8971:[.35001,.85,0,0],9168:[-99e-5,.601,0,0],10216:[.35001,.85,0,0],10217:[.35001,.85,0,0],10752:[.25001,.75,0,0],10753:[.25001,.75,0,0],10754:[.25001,.75,0,0],10756:[.25001,.75,0,0],10758:[.25001,.75,0,0]},\"Size2-Regular\":{40:[.65002,1.15,0,0],41:[.65002,1.15,0,0],47:[.65002,1.15,0,0],91:[.65002,1.15,0,0],92:[.65002,1.15,0,0],93:[.65002,1.15,0,0],123:[.65002,1.15,0,0],125:[.65002,1.15,0,0],710:[0,.75,0,0],732:[0,.75,0,0],770:[0,.75,0,0],771:[0,.75,0,0],8719:[.55001,1.05,0,0],8720:[.55001,1.05,0,0],8721:[.55001,1.05,0,0],8730:[.65002,1.15,0,0],8747:[.86225,1.36,.44445,0],8748:[.862,1.36,.44445,0],8749:[.862,1.36,.44445,0],8750:[.86225,1.36,.44445,0],8896:[.55001,1.05,0,0],8897:[.55001,1.05,0,0],8898:[.55001,1.05,0,0],8899:[.55001,1.05,0,0],8968:[.65002,1.15,0,0],8969:[.65002,1.15,0,0],8970:[.65002,1.15,0,0],8971:[.65002,1.15,0,0],10216:[.65002,1.15,0,0],10217:[.65002,1.15,0,0],10752:[.55001,1.05,0,0],10753:[.55001,1.05,0,0],10754:[.55001,1.05,0,0],\n10756:[.55001,1.05,0,0],10758:[.55001,1.05,0,0]},\"Size3-Regular\":{40:[.95003,1.45,0,0],41:[.95003,1.45,0,0],47:[.95003,1.45,0,0],91:[.95003,1.45,0,0],92:[.95003,1.45,0,0],93:[.95003,1.45,0,0],123:[.95003,1.45,0,0],125:[.95003,1.45,0,0],710:[0,.75,0,0],732:[0,.75,0,0],770:[0,.75,0,0],771:[0,.75,0,0],8730:[.95003,1.45,0,0],8968:[.95003,1.45,0,0],8969:[.95003,1.45,0,0],8970:[.95003,1.45,0,0],8971:[.95003,1.45,0,0],10216:[.95003,1.45,0,0],10217:[.95003,1.45,0,0]},\"Size4-Regular\":{40:[1.25003,1.75,0,0],41:[1.25003,1.75,0,0],47:[1.25003,1.75,0,0],91:[1.25003,1.75,0,0],92:[1.25003,1.75,0,0],93:[1.25003,1.75,0,0],123:[1.25003,1.75,0,0],125:[1.25003,1.75,0,0],710:[0,.825,0,0],732:[0,.825,0,0],770:[0,.825,0,0],771:[0,.825,0,0],8730:[1.25003,1.75,0,0],8968:[1.25003,1.75,0,0],8969:[1.25003,1.75,0,0],8970:[1.25003,1.75,0,0],8971:[1.25003,1.75,0,0],9115:[.64502,1.155,0,0],9116:[1e-5,.6,0,0],9117:[.64502,1.155,0,0],9118:[.64502,1.155,0,0],9119:[1e-5,.6,0,0],9120:[.64502,1.155,0,0],9121:[.64502,1.155,0,0],9122:[-99e-5,.601,0,0],9123:[.64502,1.155,0,0],9124:[.64502,1.155,0,0],9125:[-99e-5,.601,0,0],9126:[.64502,1.155,0,0],9127:[1e-5,.9,0,0],9128:[.65002,1.15,0,0],9129:[.90001,0,0,0],9130:[0,.3,0,0],9131:[1e-5,.9,0,0],9132:[.65002,1.15,0,0],9133:[.90001,0,0,0],9143:[.88502,.915,0,0],10216:[1.25003,1.75,0,0],10217:[1.25003,1.75,0,0],57344:[-.00499,.605,0,0],57345:[-.00499,.605,0,0],57680:[0,.12,0,0],57681:[0,.12,0,0],57682:[0,.12,0,0],57683:[0,.12,0,0]},\"Typewriter-Regular\":{33:[0,.61111,0,0],34:[0,.61111,0,0],35:[0,.61111,0,0],36:[.08333,.69444,0,0],37:[.08333,.69444,0,0],38:[0,.61111,0,0],39:[0,.61111,0,0],40:[.08333,.69444,0,0],41:[.08333,.69444,0,0],42:[0,.52083,0,0],43:[-.08056,.53055,0,0],44:[.13889,.125,0,0],45:[-.08056,.53055,0,0],46:[0,.125,0,0],47:[.08333,.69444,0,0],48:[0,.61111,0,0],49:[0,.61111,0,0],50:[0,.61111,0,0],51:[0,.61111,0,0],52:[0,.61111,0,0],53:[0,.61111,0,0],54:[0,.61111,0,0],55:[0,.61111,0,0],56:[0,.61111,0,0],57:[0,.61111,0,0],58:[0,.43056,0,0],59:[.13889,.43056,0,0],60:[-.05556,.55556,0,0],61:[-.19549,.41562,0,0],62:[-.05556,.55556,0,0],63:[0,.61111,0,0],64:[0,.61111,0,0],65:[0,.61111,0,0],66:[0,.61111,0,0],67:[0,.61111,0,0],68:[0,.61111,0,0],69:[0,.61111,0,0],70:[0,.61111,0,0],71:[0,.61111,0,0],72:[0,.61111,0,0],73:[0,.61111,0,0],74:[0,.61111,0,0],75:[0,.61111,0,0],76:[0,.61111,0,0],77:[0,.61111,0,0],78:[0,.61111,0,0],79:[0,.61111,0,0],80:[0,.61111,0,0],81:[.13889,.61111,0,0],82:[0,.61111,0,0],83:[0,.61111,0,0],84:[0,.61111,0,0],85:[0,.61111,0,0],86:[0,.61111,0,0],87:[0,.61111,0,0],88:[0,.61111,0,0],89:[0,.61111,0,0],90:[0,.61111,0,0],91:[.08333,.69444,0,0],92:[.08333,.69444,0,0],93:[.08333,.69444,0,0],94:[0,.61111,0,0],95:[.09514,0,0,0],96:[0,.61111,0,0],97:[0,.43056,0,0],98:[0,.61111,0,0],99:[0,.43056,0,0],100:[0,.61111,0,0],101:[0,.43056,0,0],102:[0,.61111,0,0],103:[.22222,.43056,0,0],104:[0,.61111,0,0],105:[0,.61111,0,0],106:[.22222,.61111,0,0],107:[0,.61111,0,0],108:[0,.61111,0,0],109:[0,.43056,0,0],110:[0,.43056,0,0],111:[0,.43056,0,0],112:[.22222,.43056,0,0],113:[.22222,.43056,0,0],114:[0,.43056,0,0],115:[0,.43056,0,0],116:[0,.55358,0,0],117:[0,.43056,0,0],118:[0,.43056,0,0],119:[0,.43056,0,0],120:[0,.43056,0,0],121:[.22222,.43056,0,0],122:[0,.43056,0,0],123:[.08333,.69444,0,0],124:[.08333,.69444,0,0],125:[.08333,.69444,0,0],126:[0,.61111,0,0],127:[0,.61111,0,0],305:[0,.43056,0,0],567:[.22222,.43056,0,0],768:[0,.61111,0,0],769:[0,.61111,0,0],770:[0,.61111,0,0],771:[0,.61111,0,0],772:[0,.56555,0,0],774:[0,.61111,0,0],776:[0,.61111,0,0],778:[0,.61111,0,0],780:[0,.56597,0,0],915:[0,.61111,0,0],916:[0,.61111,0,0],920:[0,.61111,0,0],923:[0,.61111,0,0],926:[0,.61111,0,0],928:[0,.61111,0,0],931:[0,.61111,0,0],933:[0,.61111,0,0],934:[0,.61111,0,0],936:[0,.61111,0,0],937:[0,.61111,0,0],2018:[0,.61111,0,0],2019:[0,.61111,0,0],8242:[0,.61111,0,0]}}},{}],19:[function(e,t,r){var a=e(\"./utils\");var i=e(\"./ParseError\");var n=e(\"./parseData\");var s=n.ParseNode;function l(e,r,a){if(typeof e===\"string\"){e=[e]}if(typeof r===\"number\"){r={numArgs:r}}var i={numArgs:r.numArgs,argTypes:r.argTypes,greediness:r.greediness===undefined?1:r.greediness,allowedInText:!!r.allowedInText,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,handler:a};for(var n=0;n<e.length;++n){t.exports[e[n]]=i}}var o=function(e){if(e.type===\"ordgroup\"){return e.value}else{return[e]}};l(\"\\\\sqrt\",{numArgs:1,numOptionalArgs:1},function(e,t){var r=t[0];var a=t[1];return{type:\"sqrt\",body:a,index:r}});var u={\"\\\\text\":undefined,\"\\\\textrm\":\"mathrm\",\"\\\\textsf\":\"mathsf\",\"\\\\texttt\":\"mathtt\",\"\\\\textnormal\":\"mathrm\",\"\\\\textbf\":\"mathbf\",\"\\\\textit\":\"textit\"};l([\"\\\\text\",\"\\\\textrm\",\"\\\\textsf\",\"\\\\texttt\",\"\\\\textnormal\",\"\\\\textbf\",\"\\\\textit\"],{numArgs:1,argTypes:[\"text\"],greediness:2,allowedInText:true},function(e,t){var r=t[0];return{type:\"text\",body:o(r),style:u[e.funcName]}});l(\"\\\\color\",{numArgs:2,allowedInText:true,greediness:3,argTypes:[\"color\",\"original\"]},function(e,t){var r=t[0];var a=t[1];return{type:\"color\",color:r.value,value:o(a)}});l(\"\\\\overline\",{numArgs:1},function(e,t){var r=t[0];return{type:\"overline\",body:r}});l(\"\\\\underline\",{numArgs:1},function(e,t){var r=t[0];return{type:\"underline\",body:r}});l(\"\\\\rule\",{numArgs:2,numOptionalArgs:1,argTypes:[\"size\",\"size\",\"size\"]},function(e,t){var r=t[0];var a=t[1];var i=t[2];return{type:\"rule\",shift:r&&r.value,width:a.value,height:i.value}});l([\"\\\\kern\",\"\\\\mkern\"],{numArgs:1,argTypes:[\"size\"]},function(e,t){return{type:\"kern\",dimension:t[0].value}});l(\"\\\\KaTeX\",{numArgs:0},function(e){return{type:\"katex\"}});l(\"\\\\phantom\",{numArgs:1},function(e,t){var r=t[0];return{type:\"phantom\",value:o(r)}});l([\"\\\\mathord\",\"\\\\mathbin\",\"\\\\mathrel\",\"\\\\mathopen\",\"\\\\mathclose\",\"\\\\mathpunct\",\"\\\\mathinner\"],{numArgs:1},function(e,t){var r=t[0];return{type:\"mclass\",mclass:\"m\"+e.funcName.substr(5),value:o(r)}});l(\"\\\\stackrel\",{numArgs:2},function(e,t){var r=t[0];var a=t[1];var i=new s(\"op\",{type:\"op\",limits:true,alwaysHandleSupSub:true,symbol:false,value:o(a)},a.mode);var n=new s(\"supsub\",{base:i,sup:r,sub:null},r.mode);return{type:\"mclass\",mclass:\"mrel\",value:[n]}});l(\"\\\\bmod\",{numArgs:0},function(e,t){return{type:\"mod\",modType:\"bmod\",value:null}});l([\"\\\\pod\",\"\\\\pmod\",\"\\\\mod\"],{numArgs:1},function(e,t){var r=t[0];return{type:\"mod\",modType:e.funcName.substr(1),value:o(r)}});var p={\"\\\\bigl\":{mclass:\"mopen\",size:1},\"\\\\Bigl\":{mclass:\"mopen\",size:2},\"\\\\biggl\":{mclass:\"mopen\",size:3},\"\\\\Biggl\":{mclass:\"mopen\",size:4},\"\\\\bigr\":{mclass:\"mclose\",size:1},\"\\\\Bigr\":{mclass:\"mclose\",size:2},\"\\\\biggr\":{mclass:\"mclose\",size:3},\"\\\\Biggr\":{mclass:\"mclose\",size:4},\"\\\\bigm\":{mclass:\"mrel\",size:1},\"\\\\Bigm\":{mclass:\"mrel\",size:2},\"\\\\biggm\":{mclass:\"mrel\",size:3},\"\\\\Biggm\":{mclass:\"mrel\",size:4},\"\\\\big\":{mclass:\"mord\",size:1},\"\\\\Big\":{mclass:\"mord\",size:2},\"\\\\bigg\":{mclass:\"mord\",size:3},\"\\\\Bigg\":{mclass:\"mord\",size:4}};var h=[\"(\",\")\",\"[\",\"\\\\lbrack\",\"]\",\"\\\\rbrack\",\"\\\\{\",\"\\\\lbrace\",\"\\\\}\",\"\\\\rbrace\",\"\\\\lfloor\",\"\\\\rfloor\",\"\\\\lceil\",\"\\\\rceil\",\"<\",\">\",\"\\\\langle\",\"\\\\rangle\",\"\\\\lt\",\"\\\\gt\",\"\\\\lvert\",\"\\\\rvert\",\"\\\\lVert\",\"\\\\rVert\",\"\\\\lgroup\",\"\\\\rgroup\",\"\\\\lmoustache\",\"\\\\rmoustache\",\"/\",\"\\\\backslash\",\"|\",\"\\\\vert\",\"\\\\|\",\"\\\\Vert\",\"\\\\uparrow\",\"\\\\Uparrow\",\"\\\\downarrow\",\"\\\\Downarrow\",\"\\\\updownarrow\",\"\\\\Updownarrow\",\".\"];var c={\"\\\\Bbb\":\"\\\\mathbb\",\"\\\\bold\":\"\\\\mathbf\",\"\\\\frak\":\"\\\\mathfrak\"};l([\"\\\\blue\",\"\\\\orange\",\"\\\\pink\",\"\\\\red\",\"\\\\green\",\"\\\\gray\",\"\\\\purple\",\"\\\\blueA\",\"\\\\blueB\",\"\\\\blueC\",\"\\\\blueD\",\"\\\\blueE\",\"\\\\tealA\",\"\\\\tealB\",\"\\\\tealC\",\"\\\\tealD\",\"\\\\tealE\",\"\\\\greenA\",\"\\\\greenB\",\"\\\\greenC\",\"\\\\greenD\",\"\\\\greenE\",\"\\\\goldA\",\"\\\\goldB\",\"\\\\goldC\",\"\\\\goldD\",\"\\\\goldE\",\"\\\\redA\",\"\\\\redB\",\"\\\\redC\",\"\\\\redD\",\"\\\\redE\",\"\\\\maroonA\",\"\\\\maroonB\",\"\\\\maroonC\",\"\\\\maroonD\",\"\\\\maroonE\",\"\\\\purpleA\",\"\\\\purpleB\",\"\\\\purpleC\",\"\\\\purpleD\",\"\\\\purpleE\",\"\\\\mintA\",\"\\\\mintB\",\"\\\\mintC\",\"\\\\grayA\",\"\\\\grayB\",\"\\\\grayC\",\"\\\\grayD\",\"\\\\grayE\",\"\\\\grayF\",\"\\\\grayG\",\"\\\\grayH\",\"\\\\grayI\",\"\\\\kaBlue\",\"\\\\kaGreen\"],{numArgs:1,allowedInText:true,greediness:3},function(e,t){var r=t[0];return{type:\"color\",color:\"katex-\"+e.funcName.slice(1),value:o(r)}});l([\"\\\\arcsin\",\"\\\\arccos\",\"\\\\arctan\",\"\\\\arg\",\"\\\\cos\",\"\\\\cosh\",\"\\\\cot\",\"\\\\coth\",\"\\\\csc\",\"\\\\deg\",\"\\\\dim\",\"\\\\exp\",\"\\\\hom\",\"\\\\ker\",\"\\\\lg\",\"\\\\ln\",\"\\\\log\",\"\\\\sec\",\"\\\\sin\",\"\\\\sinh\",\"\\\\tan\",\"\\\\tanh\"],{numArgs:0},function(e){return{type:\"op\",limits:false,symbol:false,body:e.funcName}});l([\"\\\\det\",\"\\\\gcd\",\"\\\\inf\",\"\\\\lim\",\"\\\\liminf\",\"\\\\limsup\",\"\\\\max\",\"\\\\min\",\"\\\\Pr\",\"\\\\sup\"],{numArgs:0},function(e){return{type:\"op\",limits:true,symbol:false,body:e.funcName}});l([\"\\\\int\",\"\\\\iint\",\"\\\\iiint\",\"\\\\oint\"],{numArgs:0},function(e){return{type:\"op\",limits:false,symbol:true,body:e.funcName}});l([\"\\\\coprod\",\"\\\\bigvee\",\"\\\\bigwedge\",\"\\\\biguplus\",\"\\\\bigcap\",\"\\\\bigcup\",\"\\\\intop\",\"\\\\prod\",\"\\\\sum\",\"\\\\bigotimes\",\"\\\\bigoplus\",\"\\\\bigodot\",\"\\\\bigsqcup\",\"\\\\smallint\"],{numArgs:0},function(e){return{type:\"op\",limits:true,symbol:true,body:e.funcName}});l(\"\\\\mathop\",{numArgs:1},function(e,t){var r=t[0];return{type:\"op\",limits:false,symbol:false,value:o(r)}});l([\"\\\\dfrac\",\"\\\\frac\",\"\\\\tfrac\",\"\\\\dbinom\",\"\\\\binom\",\"\\\\tbinom\",\"\\\\\\\\atopfrac\"],{numArgs:2,greediness:2},function(e,t){var r=t[0];var a=t[1];var i;var n=null;var s=null;var l=\"auto\";switch(e.funcName){case\"\\\\dfrac\":case\"\\\\frac\":case\"\\\\tfrac\":i=true;break;case\"\\\\\\\\atopfrac\":i=false;break;case\"\\\\dbinom\":case\"\\\\binom\":case\"\\\\tbinom\":i=false;n=\"(\";s=\")\";break;default:throw new Error(\"Unrecognized genfrac command\")}switch(e.funcName){case\"\\\\dfrac\":case\"\\\\dbinom\":l=\"display\";break;case\"\\\\tfrac\":case\"\\\\tbinom\":l=\"text\";break}return{type:\"genfrac\",numer:r,denom:a,hasBarLine:i,leftDelim:n,rightDelim:s,size:l}});l([\"\\\\llap\",\"\\\\rlap\"],{numArgs:1,allowedInText:true},function(e,t){var r=t[0];return{type:e.funcName.slice(1),body:r}});var m=function(e,t){if(a.contains(h,e.value)){return e}else{throw new i(\"Invalid delimiter: '\"+e.value+\"' after '\"+t.funcName+\"'\",e)}};l([\"\\\\bigl\",\"\\\\Bigl\",\"\\\\biggl\",\"\\\\Biggl\",\"\\\\bigr\",\"\\\\Bigr\",\"\\\\biggr\",\"\\\\Biggr\",\"\\\\bigm\",\"\\\\Bigm\",\"\\\\biggm\",\"\\\\Biggm\",\"\\\\big\",\"\\\\Big\",\"\\\\bigg\",\"\\\\Bigg\"],{numArgs:1},function(e,t){var r=m(t[0],e);return{type:\"delimsizing\",size:p[e.funcName].size,mclass:p[e.funcName].mclass,value:r.value}});l([\"\\\\left\",\"\\\\right\"],{numArgs:1},function(e,t){var r=m(t[0],e);return{type:\"leftright\",value:r.value}});l(\"\\\\middle\",{numArgs:1},function(e,t){var r=m(t[0],e);if(!e.parser.leftrightDepth){throw new i(\"\\\\middle without preceding \\\\left\",r)}return{type:\"middle\",value:r.value}});l([\"\\\\tiny\",\"\\\\scriptsize\",\"\\\\footnotesize\",\"\\\\small\",\"\\\\normalsize\",\"\\\\large\",\"\\\\Large\",\"\\\\LARGE\",\"\\\\huge\",\"\\\\Huge\"],0,null);l([\"\\\\displaystyle\",\"\\\\textstyle\",\"\\\\scriptstyle\",\"\\\\scriptscriptstyle\"],0,null);l([\"\\\\mathrm\",\"\\\\mathit\",\"\\\\mathbf\",\"\\\\mathbb\",\"\\\\mathcal\",\"\\\\mathfrak\",\"\\\\mathscr\",\"\\\\mathsf\",\"\\\\mathtt\",\"\\\\Bbb\",\"\\\\bold\",\"\\\\frak\"],{numArgs:1,greediness:2},function(e,t){var r=t[0];var a=e.funcName;if(a in c){a=c[a]}return{type:\"font\",font:a.slice(1),body:r}});l([\"\\\\acute\",\"\\\\grave\",\"\\\\ddot\",\"\\\\tilde\",\"\\\\bar\",\"\\\\breve\",\"\\\\check\",\"\\\\hat\",\"\\\\vec\",\"\\\\dot\"],{numArgs:1},function(e,t){var r=t[0];return{type:\"accent\",accent:e.funcName,base:r}});l([\"\\\\over\",\"\\\\choose\",\"\\\\atop\"],{numArgs:0,infix:true},function(e){var t;switch(e.funcName){case\"\\\\over\":t=\"\\\\frac\";break;case\"\\\\choose\":t=\"\\\\binom\";break;case\"\\\\atop\":t=\"\\\\\\\\atopfrac\";break;default:throw new Error(\"Unrecognized infix genfrac command\")}return{type:\"infix\",replaceWith:t,token:e.token}});l([\"\\\\\\\\\",\"\\\\cr\"],{numArgs:0,numOptionalArgs:1,argTypes:[\"size\"]},function(e,t){var r=t[0];return{type:\"cr\",size:r}});l([\"\\\\begin\",\"\\\\end\"],{numArgs:1,argTypes:[\"text\"]},function(e,t){var r=t[0];if(r.type!==\"ordgroup\"){throw new i(\"Invalid environment name\",r)}var a=\"\";for(var n=0;n<r.value.length;++n){a+=r.value[n].value}return{type:\"environment\",name:a,nameGroup:r}})},{\"./ParseError\":6,\"./parseData\":21,\"./utils\":25}],20:[function(e,t,r){var a=e(\"./utils\");function i(e,t){this.type=e;this.attributes={};this.children=t||[]}i.prototype.setAttribute=function(e,t){this.attributes[e]=t};i.prototype.toNode=function(){var e=document.createElementNS(\"http://www.w3.org/1998/Math/MathML\",this.type);for(var t in this.attributes){if(Object.prototype.hasOwnProperty.call(this.attributes,t)){e.setAttribute(t,this.attributes[t])}}for(var r=0;r<this.children.length;r++){e.appendChild(this.children[r].toNode())}return e};i.prototype.toMarkup=function(){var e=\"<\"+this.type;for(var t in this.attributes){if(Object.prototype.hasOwnProperty.call(this.attributes,t)){e+=\" \"+t+'=\"';e+=a.escape(this.attributes[t]);e+='\"'}}e+=\">\";for(var r=0;r<this.children.length;r++){e+=this.children[r].toMarkup()}e+=\"</\"+this.type+\">\";return e};function n(e){this.text=e}n.prototype.toNode=function(){return document.createTextNode(this.text)};n.prototype.toMarkup=function(){return a.escape(this.text)};t.exports={MathNode:i,TextNode:n}},{\"./utils\":25}],21:[function(e,t,r){function a(e,t,r,a,i){this.type=e;this.value=t;this.mode=r;if(a&&(!i||i.lexer===a.lexer)){this.lexer=a.lexer;this.start=a.start;this.end=(i||a).end}}t.exports={ParseNode:a}},{}],22:[function(e,t,r){var a=e(\"./Parser\");var i=function(e,t){if(!(typeof e===\"string\"||e instanceof String)){throw new TypeError(\"KaTeX can only parse string typed expression\")}var r=new a(e,t);return r.parse()};t.exports=i},{\"./Parser\":7}],23:[function(e,t,r){t.exports={math:{},text:{}};function a(e,r,a,i,n){t.exports[e][n]={font:r,group:a,replace:i}}var i=\"math\";var n=\"text\";var s=\"main\";var l=\"ams\";var o=\"accent\";var u=\"bin\";var p=\"close\";var h=\"inner\";var c=\"mathord\";var m=\"op\";var f=\"open\";var v=\"punct\";var d=\"rel\";var g=\"spacing\";var y=\"textord\";a(i,s,d,\"\\u2261\",\"\\\\equiv\");a(i,s,d,\"\\u227a\",\"\\\\prec\");a(i,s,d,\"\\u227b\",\"\\\\succ\");a(i,s,d,\"\\u223c\",\"\\\\sim\");a(i,s,d,\"\\u22a5\",\"\\\\perp\");a(i,s,d,\"\\u2aaf\",\"\\\\preceq\");a(i,s,d,\"\\u2ab0\",\"\\\\succeq\");a(i,s,d,\"\\u2243\",\"\\\\simeq\");a(i,s,d,\"\\u2223\",\"\\\\mid\");a(i,s,d,\"\\u226a\",\"\\\\ll\");a(i,s,d,\"\\u226b\",\"\\\\gg\");a(i,s,d,\"\\u224d\",\"\\\\asymp\");a(i,s,d,\"\\u2225\",\"\\\\parallel\");a(i,s,d,\"\\u22c8\",\"\\\\bowtie\");a(i,s,d,\"\\u2323\",\"\\\\smile\");a(i,s,d,\"\\u2291\",\"\\\\sqsubseteq\");a(i,s,d,\"\\u2292\",\"\\\\sqsupseteq\");a(i,s,d,\"\\u2250\",\"\\\\doteq\");a(i,s,d,\"\\u2322\",\"\\\\frown\");a(i,s,d,\"\\u220b\",\"\\\\ni\");a(i,s,d,\"\\u221d\",\"\\\\propto\");a(i,s,d,\"\\u22a2\",\"\\\\vdash\");a(i,s,d,\"\\u22a3\",\"\\\\dashv\");a(i,s,d,\"\\u220b\",\"\\\\owns\");a(i,s,v,\".\",\"\\\\ldotp\");a(i,s,v,\"\\u22c5\",\"\\\\cdotp\");a(i,s,y,\"#\",\"\\\\#\");a(n,s,y,\"#\",\"\\\\#\");a(i,s,y,\"&\",\"\\\\&\");a(n,s,y,\"&\",\"\\\\&\");a(i,s,y,\"\\u2135\",\"\\\\aleph\");a(i,s,y,\"\\u2200\",\"\\\\forall\");a(i,s,y,\"\\u210f\",\"\\\\hbar\");a(i,s,y,\"\\u2203\",\"\\\\exists\");a(i,s,y,\"\\u2207\",\"\\\\nabla\");a(i,s,y,\"\\u266d\",\"\\\\flat\");a(i,s,y,\"\\u2113\",\"\\\\ell\");a(i,s,y,\"\\u266e\",\"\\\\natural\");a(i,s,y,\"\\u2663\",\"\\\\clubsuit\");a(i,s,y,\"\\u2118\",\"\\\\wp\");a(i,s,y,\"\\u266f\",\"\\\\sharp\");a(i,s,y,\"\\u2662\",\"\\\\diamondsuit\");a(i,s,y,\"\\u211c\",\"\\\\Re\");a(i,s,y,\"\\u2661\",\"\\\\heartsuit\");a(i,s,y,\"\\u2111\",\"\\\\Im\");a(i,s,y,\"\\u2660\",\"\\\\spadesuit\");a(i,s,y,\"\\u2020\",\"\\\\dag\");a(i,s,y,\"\\u2021\",\"\\\\ddag\");a(i,s,p,\"\\u23b1\",\"\\\\rmoustache\");a(i,s,f,\"\\u23b0\",\"\\\\lmoustache\");a(i,s,p,\"\\u27ef\",\"\\\\rgroup\");a(i,s,f,\"\\u27ee\",\"\\\\lgroup\");a(i,s,u,\"\\u2213\",\"\\\\mp\");a(i,s,u,\"\\u2296\",\"\\\\ominus\");a(i,s,u,\"\\u228e\",\"\\\\uplus\");a(i,s,u,\"\\u2293\",\"\\\\sqcap\");a(i,s,u,\"\\u2217\",\"\\\\ast\");a(i,s,u,\"\\u2294\",\"\\\\sqcup\");a(i,s,u,\"\\u25ef\",\"\\\\bigcirc\");a(i,s,u,\"\\u2219\",\"\\\\bullet\");a(i,s,u,\"\\u2021\",\"\\\\ddagger\");a(i,s,u,\"\\u2240\",\"\\\\wr\");a(i,s,u,\"\\u2a3f\",\"\\\\amalg\");a(i,s,d,\"\\u27f5\",\"\\\\longleftarrow\");a(i,s,d,\"\\u21d0\",\"\\\\Leftarrow\");a(i,s,d,\"\\u27f8\",\"\\\\Longleftarrow\");a(i,s,d,\"\\u27f6\",\"\\\\longrightarrow\");a(i,s,d,\"\\u21d2\",\"\\\\Rightarrow\");a(i,s,d,\"\\u27f9\",\"\\\\Longrightarrow\");a(i,s,d,\"\\u2194\",\"\\\\leftrightarrow\");a(i,s,d,\"\\u27f7\",\"\\\\longleftrightarrow\");a(i,s,d,\"\\u21d4\",\"\\\\Leftrightarrow\");a(i,s,d,\"\\u27fa\",\"\\\\Longleftrightarrow\");a(i,s,d,\"\\u21a6\",\"\\\\mapsto\");a(i,s,d,\"\\u27fc\",\"\\\\longmapsto\");a(i,s,d,\"\\u2197\",\"\\\\nearrow\");a(i,s,d,\"\\u21a9\",\"\\\\hookleftarrow\");a(i,s,d,\"\\u21aa\",\"\\\\hookrightarrow\");a(i,s,d,\"\\u2198\",\"\\\\searrow\");a(i,s,d,\"\\u21bc\",\"\\\\leftharpoonup\");a(i,s,d,\"\\u21c0\",\"\\\\rightharpoonup\");a(i,s,d,\"\\u2199\",\"\\\\swarrow\");a(i,s,d,\"\\u21bd\",\"\\\\leftharpoondown\");a(i,s,d,\"\\u21c1\",\"\\\\rightharpoondown\");a(i,s,d,\"\\u2196\",\"\\\\nwarrow\");a(i,s,d,\"\\u21cc\",\"\\\\rightleftharpoons\");a(i,l,d,\"\\u226e\",\"\\\\nless\");a(i,l,d,\"\\ue010\",\"\\\\nleqslant\");a(i,l,d,\"\\ue011\",\"\\\\nleqq\");a(i,l,d,\"\\u2a87\",\"\\\\lneq\");a(i,l,d,\"\\u2268\",\"\\\\lneqq\");a(i,l,d,\"\\ue00c\",\"\\\\lvertneqq\");a(i,l,d,\"\\u22e6\",\"\\\\lnsim\");a(i,l,d,\"\\u2a89\",\"\\\\lnapprox\");a(i,l,d,\"\\u2280\",\"\\\\nprec\");a(i,l,d,\"\\u22e0\",\"\\\\npreceq\");a(i,l,d,\"\\u22e8\",\"\\\\precnsim\");a(i,l,d,\"\\u2ab9\",\"\\\\precnapprox\");a(i,l,d,\"\\u2241\",\"\\\\nsim\");a(i,l,d,\"\\ue006\",\"\\\\nshortmid\");a(i,l,d,\"\\u2224\",\"\\\\nmid\");a(i,l,d,\"\\u22ac\",\"\\\\nvdash\");a(i,l,d,\"\\u22ad\",\"\\\\nvDash\");a(i,l,d,\"\\u22ea\",\"\\\\ntriangleleft\");a(i,l,d,\"\\u22ec\",\"\\\\ntrianglelefteq\");a(i,l,d,\"\\u228a\",\"\\\\subsetneq\");a(i,l,d,\"\\ue01a\",\"\\\\varsubsetneq\");a(i,l,d,\"\\u2acb\",\"\\\\subsetneqq\");a(i,l,d,\"\\ue017\",\"\\\\varsubsetneqq\");a(i,l,d,\"\\u226f\",\"\\\\ngtr\");a(i,l,d,\"\\ue00f\",\"\\\\ngeqslant\");a(i,l,d,\"\\ue00e\",\"\\\\ngeqq\");a(i,l,d,\"\\u2a88\",\"\\\\gneq\");a(i,l,d,\"\\u2269\",\"\\\\gneqq\");a(i,l,d,\"\\ue00d\",\"\\\\gvertneqq\");a(i,l,d,\"\\u22e7\",\"\\\\gnsim\");a(i,l,d,\"\\u2a8a\",\"\\\\gnapprox\");a(i,l,d,\"\\u2281\",\"\\\\nsucc\");a(i,l,d,\"\\u22e1\",\"\\\\nsucceq\");a(i,l,d,\"\\u22e9\",\"\\\\succnsim\");a(i,l,d,\"\\u2aba\",\"\\\\succnapprox\");a(i,l,d,\"\\u2246\",\"\\\\ncong\");a(i,l,d,\"\\ue007\",\"\\\\nshortparallel\");a(i,l,d,\"\\u2226\",\"\\\\nparallel\");a(i,l,d,\"\\u22af\",\"\\\\nVDash\");a(i,l,d,\"\\u22eb\",\"\\\\ntriangleright\");a(i,l,d,\"\\u22ed\",\"\\\\ntrianglerighteq\");a(i,l,d,\"\\ue018\",\"\\\\nsupseteqq\");a(i,l,d,\"\\u228b\",\"\\\\supsetneq\");a(i,l,d,\"\\ue01b\",\"\\\\varsupsetneq\");a(i,l,d,\"\\u2acc\",\"\\\\supsetneqq\");a(i,l,d,\"\\ue019\",\"\\\\varsupsetneqq\");a(i,l,d,\"\\u22ae\",\"\\\\nVdash\");a(i,l,d,\"\\u2ab5\",\"\\\\precneqq\");a(i,l,d,\"\\u2ab6\",\"\\\\succneqq\");a(i,l,d,\"\\ue016\",\"\\\\nsubseteqq\");a(i,l,u,\"\\u22b4\",\"\\\\unlhd\");a(i,l,u,\"\\u22b5\",\"\\\\unrhd\");a(i,l,d,\"\\u219a\",\"\\\\nleftarrow\");a(i,l,d,\"\\u219b\",\"\\\\nrightarrow\");a(i,l,d,\"\\u21cd\",\"\\\\nLeftarrow\");a(i,l,d,\"\\u21cf\",\"\\\\nRightarrow\");a(i,l,d,\"\\u21ae\",\"\\\\nleftrightarrow\");a(i,l,d,\"\\u21ce\",\"\\\\nLeftrightarrow\");a(i,l,d,\"\\u25b3\",\"\\\\vartriangle\");a(i,l,y,\"\\u210f\",\"\\\\hslash\");a(i,l,y,\"\\u25bd\",\"\\\\triangledown\");a(i,l,y,\"\\u25ca\",\"\\\\lozenge\");a(i,l,y,\"\\u24c8\",\"\\\\circledS\");a(i,l,y,\"\\xae\",\"\\\\circledR\");a(i,l,y,\"\\u2221\",\"\\\\measuredangle\");a(i,l,y,\"\\u2204\",\"\\\\nexists\");a(i,l,y,\"\\u2127\",\"\\\\mho\");a(i,l,y,\"\\u2132\",\"\\\\Finv\");a(i,l,y,\"\\u2141\",\"\\\\Game\");a(i,l,y,\"k\",\"\\\\Bbbk\");a(i,l,y,\"\\u2035\",\"\\\\backprime\");a(i,l,y,\"\\u25b2\",\"\\\\blacktriangle\");a(i,l,y,\"\\u25bc\",\"\\\\blacktriangledown\");a(i,l,y,\"\\u25a0\",\"\\\\blacksquare\");a(i,l,y,\"\\u29eb\",\"\\\\blacklozenge\");a(i,l,y,\"\\u2605\",\"\\\\bigstar\");a(i,l,y,\"\\u2222\",\"\\\\sphericalangle\");a(i,l,y,\"\\u2201\",\"\\\\complement\");a(i,l,y,\"\\xf0\",\"\\\\eth\");a(i,l,y,\"\\u2571\",\"\\\\diagup\");a(i,l,y,\"\\u2572\",\"\\\\diagdown\");a(i,l,y,\"\\u25a1\",\"\\\\square\");a(i,l,y,\"\\u25a1\",\"\\\\Box\");a(i,l,y,\"\\u25ca\",\"\\\\Diamond\");a(i,l,y,\"\\xa5\",\"\\\\yen\");a(i,l,y,\"\\u2713\",\"\\\\checkmark\");a(i,l,y,\"\\u2136\",\"\\\\beth\");a(i,l,y,\"\\u2138\",\"\\\\daleth\");a(i,l,y,\"\\u2137\",\"\\\\gimel\");a(i,l,y,\"\\u03dd\",\"\\\\digamma\");a(i,l,y,\"\\u03f0\",\"\\\\varkappa\");a(i,l,f,\"\\u250c\",\"\\\\ulcorner\");a(i,l,p,\"\\u2510\",\"\\\\urcorner\");a(i,l,f,\"\\u2514\",\"\\\\llcorner\");a(i,l,p,\"\\u2518\",\"\\\\lrcorner\");a(i,l,d,\"\\u2266\",\"\\\\leqq\");a(i,l,d,\"\\u2a7d\",\"\\\\leqslant\");a(i,l,d,\"\\u2a95\",\"\\\\eqslantless\");a(i,l,d,\"\\u2272\",\"\\\\lesssim\");a(i,l,d,\"\\u2a85\",\"\\\\lessapprox\");a(i,l,d,\"\\u224a\",\"\\\\approxeq\");a(i,l,u,\"\\u22d6\",\"\\\\lessdot\");a(i,l,d,\"\\u22d8\",\"\\\\lll\");a(i,l,d,\"\\u2276\",\"\\\\lessgtr\");a(i,l,d,\"\\u22da\",\"\\\\lesseqgtr\");a(i,l,d,\"\\u2a8b\",\"\\\\lesseqqgtr\");a(i,l,d,\"\\u2251\",\"\\\\doteqdot\");a(i,l,d,\"\\u2253\",\"\\\\risingdotseq\");a(i,l,d,\"\\u2252\",\"\\\\fallingdotseq\");a(i,l,d,\"\\u223d\",\"\\\\backsim\");a(i,l,d,\"\\u22cd\",\"\\\\backsimeq\");a(i,l,d,\"\\u2ac5\",\"\\\\subseteqq\");a(i,l,d,\"\\u22d0\",\"\\\\Subset\");a(i,l,d,\"\\u228f\",\"\\\\sqsubset\");a(i,l,d,\"\\u227c\",\"\\\\preccurlyeq\");a(i,l,d,\"\\u22de\",\"\\\\curlyeqprec\");a(i,l,d,\"\\u227e\",\"\\\\precsim\");a(i,l,d,\"\\u2ab7\",\"\\\\precapprox\");a(i,l,d,\"\\u22b2\",\"\\\\vartriangleleft\");a(i,l,d,\"\\u22b4\",\"\\\\trianglelefteq\");a(i,l,d,\"\\u22a8\",\"\\\\vDash\");a(i,l,d,\"\\u22aa\",\"\\\\Vvdash\");a(i,l,d,\"\\u2323\",\"\\\\smallsmile\");a(i,l,d,\"\\u2322\",\"\\\\smallfrown\");a(i,l,d,\"\\u224f\",\"\\\\bumpeq\");a(i,l,d,\"\\u224e\",\"\\\\Bumpeq\");a(i,l,d,\"\\u2267\",\"\\\\geqq\");a(i,l,d,\"\\u2a7e\",\"\\\\geqslant\");a(i,l,d,\"\\u2a96\",\"\\\\eqslantgtr\");a(i,l,d,\"\\u2273\",\"\\\\gtrsim\");a(i,l,d,\"\\u2a86\",\"\\\\gtrapprox\");a(i,l,u,\"\\u22d7\",\"\\\\gtrdot\");a(i,l,d,\"\\u22d9\",\"\\\\ggg\");a(i,l,d,\"\\u2277\",\"\\\\gtrless\");a(i,l,d,\"\\u22db\",\"\\\\gtreqless\");a(i,l,d,\"\\u2a8c\",\"\\\\gtreqqless\");a(i,l,d,\"\\u2256\",\"\\\\eqcirc\");a(i,l,d,\"\\u2257\",\"\\\\circeq\");a(i,l,d,\"\\u225c\",\"\\\\triangleq\");a(i,l,d,\"\\u223c\",\"\\\\thicksim\");a(i,l,d,\"\\u2248\",\"\\\\thickapprox\");a(i,l,d,\"\\u2ac6\",\"\\\\supseteqq\");a(i,l,d,\"\\u22d1\",\"\\\\Supset\");a(i,l,d,\"\\u2290\",\"\\\\sqsupset\");a(i,l,d,\"\\u227d\",\"\\\\succcurlyeq\");a(i,l,d,\"\\u22df\",\"\\\\curlyeqsucc\");a(i,l,d,\"\\u227f\",\"\\\\succsim\");a(i,l,d,\"\\u2ab8\",\"\\\\succapprox\");a(i,l,d,\"\\u22b3\",\"\\\\vartriangleright\");a(i,l,d,\"\\u22b5\",\"\\\\trianglerighteq\");a(i,l,d,\"\\u22a9\",\"\\\\Vdash\");a(i,l,d,\"\\u2223\",\"\\\\shortmid\");a(i,l,d,\"\\u2225\",\"\\\\shortparallel\");a(i,l,d,\"\\u226c\",\"\\\\between\");a(i,l,d,\"\\u22d4\",\"\\\\pitchfork\");a(i,l,d,\"\\u221d\",\"\\\\varpropto\");a(i,l,d,\"\\u25c0\",\"\\\\blacktriangleleft\");a(i,l,d,\"\\u2234\",\"\\\\therefore\");a(i,l,d,\"\\u220d\",\"\\\\backepsilon\");a(i,l,d,\"\\u25b6\",\"\\\\blacktriangleright\");a(i,l,d,\"\\u2235\",\"\\\\because\");a(i,l,d,\"\\u22d8\",\"\\\\llless\");a(i,l,d,\"\\u22d9\",\"\\\\gggtr\");a(i,l,u,\"\\u22b2\",\"\\\\lhd\");a(i,l,u,\"\\u22b3\",\"\\\\rhd\");a(i,l,d,\"\\u2242\",\"\\\\eqsim\");a(i,s,d,\"\\u22c8\",\"\\\\Join\");a(i,l,d,\"\\u2251\",\"\\\\Doteq\");a(i,l,u,\"\\u2214\",\"\\\\dotplus\");a(i,l,u,\"\\u2216\",\"\\\\smallsetminus\");a(i,l,u,\"\\u22d2\",\"\\\\Cap\");a(i,l,u,\"\\u22d3\",\"\\\\Cup\");a(i,l,u,\"\\u2a5e\",\"\\\\doublebarwedge\");a(i,l,u,\"\\u229f\",\"\\\\boxminus\");a(i,l,u,\"\\u229e\",\"\\\\boxplus\");a(i,l,u,\"\\u22c7\",\"\\\\divideontimes\");a(i,l,u,\"\\u22c9\",\"\\\\ltimes\");a(i,l,u,\"\\u22ca\",\"\\\\rtimes\");a(i,l,u,\"\\u22cb\",\"\\\\leftthreetimes\");a(i,l,u,\"\\u22cc\",\"\\\\rightthreetimes\");a(i,l,u,\"\\u22cf\",\"\\\\curlywedge\");a(i,l,u,\"\\u22ce\",\"\\\\curlyvee\");a(i,l,u,\"\\u229d\",\"\\\\circleddash\");a(i,l,u,\"\\u229b\",\"\\\\circledast\");a(i,l,u,\"\\u22c5\",\"\\\\centerdot\");a(i,l,u,\"\\u22ba\",\"\\\\intercal\");a(i,l,u,\"\\u22d2\",\"\\\\doublecap\");a(i,l,u,\"\\u22d3\",\"\\\\doublecup\");a(i,l,u,\"\\u22a0\",\"\\\\boxtimes\");a(i,l,d,\"\\u21e2\",\"\\\\dashrightarrow\");a(i,l,d,\"\\u21e0\",\"\\\\dashleftarrow\");a(i,l,d,\"\\u21c7\",\"\\\\leftleftarrows\");a(i,l,d,\"\\u21c6\",\"\\\\leftrightarrows\");a(i,l,d,\"\\u21da\",\"\\\\Lleftarrow\");a(i,l,d,\"\\u219e\",\"\\\\twoheadleftarrow\");a(i,l,d,\"\\u21a2\",\"\\\\leftarrowtail\");a(i,l,d,\"\\u21ab\",\"\\\\looparrowleft\");a(i,l,d,\"\\u21cb\",\"\\\\leftrightharpoons\");a(i,l,d,\"\\u21b6\",\"\\\\curvearrowleft\");a(i,l,d,\"\\u21ba\",\"\\\\circlearrowleft\");a(i,l,d,\"\\u21b0\",\"\\\\Lsh\");a(i,l,d,\"\\u21c8\",\"\\\\upuparrows\");a(i,l,d,\"\\u21bf\",\"\\\\upharpoonleft\");a(i,l,d,\"\\u21c3\",\"\\\\downharpoonleft\");a(i,l,d,\"\\u22b8\",\"\\\\multimap\");a(i,l,d,\"\\u21ad\",\"\\\\leftrightsquigarrow\");a(i,l,d,\"\\u21c9\",\"\\\\rightrightarrows\");a(i,l,d,\"\\u21c4\",\"\\\\rightleftarrows\");a(i,l,d,\"\\u21a0\",\"\\\\twoheadrightarrow\");a(i,l,d,\"\\u21a3\",\"\\\\rightarrowtail\");a(i,l,d,\"\\u21ac\",\"\\\\looparrowright\");a(i,l,d,\"\\u21b7\",\"\\\\curvearrowright\");a(i,l,d,\"\\u21bb\",\"\\\\circlearrowright\");a(i,l,d,\"\\u21b1\",\"\\\\Rsh\");a(i,l,d,\"\\u21ca\",\"\\\\downdownarrows\");a(i,l,d,\"\\u21be\",\"\\\\upharpoonright\");a(i,l,d,\"\\u21c2\",\"\\\\downharpoonright\");a(i,l,d,\"\\u21dd\",\"\\\\rightsquigarrow\");a(i,l,d,\"\\u21dd\",\"\\\\leadsto\");a(i,l,d,\"\\u21db\",\"\\\\Rrightarrow\");a(i,l,d,\"\\u21be\",\"\\\\restriction\");a(i,s,y,\"\\u2018\",\"`\");a(i,s,y,\"$\",\"\\\\$\");a(n,s,y,\"$\",\"\\\\$\");a(i,s,y,\"%\",\"\\\\%\");a(n,s,y,\"%\",\"\\\\%\");a(i,s,y,\"_\",\"\\\\_\");a(n,s,y,\"_\",\"\\\\_\");a(i,s,y,\"\\u2220\",\"\\\\angle\");a(i,s,y,\"\\u221e\",\"\\\\infty\");a(i,s,y,\"\\u2032\",\"\\\\prime\");a(i,s,y,\"\\u25b3\",\"\\\\triangle\");a(i,s,y,\"\\u0393\",\"\\\\Gamma\");a(i,s,y,\"\\u0394\",\"\\\\Delta\");a(i,s,y,\"\\u0398\",\"\\\\Theta\");a(i,s,y,\"\\u039b\",\"\\\\Lambda\");a(i,s,y,\"\\u039e\",\"\\\\Xi\");a(i,s,y,\"\\u03a0\",\"\\\\Pi\");a(i,s,y,\"\\u03a3\",\"\\\\Sigma\");a(i,s,y,\"\\u03a5\",\"\\\\Upsilon\");a(i,s,y,\"\\u03a6\",\"\\\\Phi\");a(i,s,y,\"\\u03a8\",\"\\\\Psi\");a(i,s,y,\"\\u03a9\",\"\\\\Omega\");a(i,s,y,\"\\xac\",\"\\\\neg\");a(i,s,y,\"\\xac\",\"\\\\lnot\");a(i,s,y,\"\\u22a4\",\"\\\\top\");a(i,s,y,\"\\u22a5\",\"\\\\bot\");a(i,s,y,\"\\u2205\",\"\\\\emptyset\");a(i,l,y,\"\\u2205\",\"\\\\varnothing\");a(i,s,c,\"\\u03b1\",\"\\\\alpha\");a(i,s,c,\"\\u03b2\",\"\\\\beta\");a(i,s,c,\"\\u03b3\",\"\\\\gamma\");a(i,s,c,\"\\u03b4\",\"\\\\delta\");a(i,s,c,\"\\u03f5\",\"\\\\epsilon\");a(i,s,c,\"\\u03b6\",\"\\\\zeta\");a(i,s,c,\"\\u03b7\",\"\\\\eta\");a(i,s,c,\"\\u03b8\",\"\\\\theta\");a(i,s,c,\"\\u03b9\",\"\\\\iota\");a(i,s,c,\"\\u03ba\",\"\\\\kappa\");a(i,s,c,\"\\u03bb\",\"\\\\lambda\");a(i,s,c,\"\\u03bc\",\"\\\\mu\");a(i,s,c,\"\\u03bd\",\"\\\\nu\");a(i,s,c,\"\\u03be\",\"\\\\xi\");a(i,s,c,\"o\",\"\\\\omicron\");a(i,s,c,\"\\u03c0\",\"\\\\pi\");a(i,s,c,\"\\u03c1\",\"\\\\rho\");a(i,s,c,\"\\u03c3\",\"\\\\sigma\");a(i,s,c,\"\\u03c4\",\"\\\\tau\");a(i,s,c,\"\\u03c5\",\"\\\\upsilon\");a(i,s,c,\"\\u03d5\",\"\\\\phi\");a(i,s,c,\"\\u03c7\",\"\\\\chi\");a(i,s,c,\"\\u03c8\",\"\\\\psi\");a(i,s,c,\"\\u03c9\",\"\\\\omega\");a(i,s,c,\"\\u03b5\",\"\\\\varepsilon\");a(i,s,c,\"\\u03d1\",\"\\\\vartheta\");a(i,s,c,\"\\u03d6\",\"\\\\varpi\");a(i,s,c,\"\\u03f1\",\"\\\\varrho\");a(i,s,c,\"\\u03c2\",\"\\\\varsigma\");a(i,s,c,\"\\u03c6\",\"\\\\varphi\");a(i,s,u,\"\\u2217\",\"*\");a(i,s,u,\"+\",\"+\");a(i,s,u,\"\\u2212\",\"-\");a(i,s,u,\"\\u22c5\",\"\\\\cdot\");a(i,s,u,\"\\u2218\",\"\\\\circ\");a(i,s,u,\"\\xf7\",\"\\\\div\");a(i,s,u,\"\\xb1\",\"\\\\pm\");a(i,s,u,\"\\xd7\",\"\\\\times\");a(i,s,u,\"\\u2229\",\"\\\\cap\");a(i,s,u,\"\\u222a\",\"\\\\cup\");a(i,s,u,\"\\u2216\",\"\\\\setminus\");a(i,s,u,\"\\u2227\",\"\\\\land\");a(i,s,u,\"\\u2228\",\"\\\\lor\");a(i,s,u,\"\\u2227\",\"\\\\wedge\");a(i,s,u,\"\\u2228\",\"\\\\vee\");a(i,s,y,\"\\u221a\",\"\\\\surd\");a(i,s,f,\"(\",\"(\");a(i,s,f,\"[\",\"[\");a(i,s,f,\"\\u27e8\",\"\\\\langle\");a(i,s,f,\"\\u2223\",\"\\\\lvert\");a(i,s,f,\"\\u2225\",\"\\\\lVert\");a(i,s,p,\")\",\")\");a(i,s,p,\"]\",\"]\");a(i,s,p,\"?\",\"?\");a(i,s,p,\"!\",\"!\");a(i,s,p,\"\\u27e9\",\"\\\\rangle\");a(i,s,p,\"\\u2223\",\"\\\\rvert\");a(i,s,p,\"\\u2225\",\"\\\\rVert\");a(i,s,d,\"=\",\"=\");a(i,s,d,\"<\",\"<\");a(i,s,d,\">\",\">\");a(i,s,d,\":\",\":\");a(i,s,d,\"\\u2248\",\"\\\\approx\");a(i,s,d,\"\\u2245\",\"\\\\cong\");a(i,s,d,\"\\u2265\",\"\\\\ge\");a(i,s,d,\"\\u2265\",\"\\\\geq\");a(i,s,d,\"\\u2190\",\"\\\\gets\");a(i,s,d,\">\",\"\\\\gt\");a(i,s,d,\"\\u2208\",\"\\\\in\");a(i,s,d,\"\\u2209\",\"\\\\notin\");a(i,s,d,\"\\u2282\",\"\\\\subset\");a(i,s,d,\"\\u2283\",\"\\\\supset\");a(i,s,d,\"\\u2286\",\"\\\\subseteq\");a(i,s,d,\"\\u2287\",\"\\\\supseteq\");a(i,l,d,\"\\u2288\",\"\\\\nsubseteq\");a(i,l,d,\"\\u2289\",\"\\\\nsupseteq\");a(i,s,d,\"\\u22a8\",\"\\\\models\");a(i,s,d,\"\\u2190\",\"\\\\leftarrow\");a(i,s,d,\"\\u2264\",\"\\\\le\");a(i,s,d,\"\\u2264\",\"\\\\leq\");a(i,s,d,\"<\",\"\\\\lt\");a(i,s,d,\"\\u2260\",\"\\\\ne\");a(i,s,d,\"\\u2260\",\"\\\\neq\");a(i,s,d,\"\\u2192\",\"\\\\rightarrow\");a(i,s,d,\"\\u2192\",\"\\\\to\");a(i,l,d,\"\\u2271\",\"\\\\ngeq\");a(i,l,d,\"\\u2270\",\"\\\\nleq\");a(i,s,g,null,\"\\\\!\");a(i,s,g,\"\\xa0\",\"\\\\ \");a(i,s,g,\"\\xa0\",\"~\");a(i,s,g,null,\"\\\\,\");a(i,s,g,null,\"\\\\:\");a(i,s,g,null,\"\\\\;\");a(i,s,g,null,\"\\\\enspace\");a(i,s,g,null,\"\\\\qquad\");a(i,s,g,null,\"\\\\quad\");a(i,s,g,\"\\xa0\",\"\\\\space\");a(i,s,v,\",\",\",\");a(i,s,v,\";\",\";\");a(i,s,v,\":\",\"\\\\colon\");a(i,l,u,\"\\u22bc\",\"\\\\barwedge\");a(i,l,u,\"\\u22bb\",\"\\\\veebar\");a(i,s,u,\"\\u2299\",\"\\\\odot\");a(i,s,u,\"\\u2295\",\"\\\\oplus\");a(i,s,u,\"\\u2297\",\"\\\\otimes\");a(i,s,y,\"\\u2202\",\"\\\\partial\");a(i,s,u,\"\\u2298\",\"\\\\oslash\");a(i,l,u,\"\\u229a\",\"\\\\circledcirc\");a(i,l,u,\"\\u22a1\",\"\\\\boxdot\");a(i,s,u,\"\\u25b3\",\"\\\\bigtriangleup\");a(i,s,u,\"\\u25bd\",\"\\\\bigtriangledown\");a(i,s,u,\"\\u2020\",\"\\\\dagger\");a(i,s,u,\"\\u22c4\",\"\\\\diamond\");a(i,s,u,\"\\u22c6\",\"\\\\star\");a(i,s,u,\"\\u25c3\",\"\\\\triangleleft\");a(i,s,u,\"\\u25b9\",\"\\\\triangleright\");a(i,s,f,\"{\",\"\\\\{\");a(n,s,y,\"{\",\"\\\\{\");a(i,s,p,\"}\",\"\\\\}\");a(n,s,y,\"}\",\"\\\\}\");a(i,s,f,\"{\",\"\\\\lbrace\");a(i,s,p,\"}\",\"\\\\rbrace\");a(i,s,f,\"[\",\"\\\\lbrack\");a(i,s,p,\"]\",\"\\\\rbrack\");a(i,s,f,\"\\u230a\",\"\\\\lfloor\");a(i,s,p,\"\\u230b\",\"\\\\rfloor\");a(i,s,f,\"\\u2308\",\"\\\\lceil\");a(i,s,p,\"\\u2309\",\"\\\\rceil\");a(i,s,y,\"\\\\\",\"\\\\backslash\");a(i,s,y,\"\\u2223\",\"|\");a(i,s,y,\"\\u2223\",\"\\\\vert\");a(i,s,y,\"\\u2225\",\"\\\\|\");a(i,s,y,\"\\u2225\",\"\\\\Vert\");a(i,s,d,\"\\u2191\",\"\\\\uparrow\");a(i,s,d,\"\\u21d1\",\"\\\\Uparrow\");a(i,s,d,\"\\u2193\",\"\\\\downarrow\");a(i,s,d,\"\\u21d3\",\"\\\\Downarrow\");a(i,s,d,\"\\u2195\",\"\\\\updownarrow\");a(i,s,d,\"\\u21d5\",\"\\\\Updownarrow\");a(i,i,m,\"\\u2210\",\"\\\\coprod\");a(i,i,m,\"\\u22c1\",\"\\\\bigvee\");a(i,i,m,\"\\u22c0\",\"\\\\bigwedge\");a(i,i,m,\"\\u2a04\",\"\\\\biguplus\");a(i,i,m,\"\\u22c2\",\"\\\\bigcap\");a(i,i,m,\"\\u22c3\",\"\\\\bigcup\");a(i,i,m,\"\\u222b\",\"\\\\int\");a(i,i,m,\"\\u222b\",\"\\\\intop\");a(i,i,m,\"\\u222c\",\"\\\\iint\");a(i,i,m,\"\\u222d\",\"\\\\iiint\");a(i,i,m,\"\\u220f\",\"\\\\prod\");a(i,i,m,\"\\u2211\",\"\\\\sum\");a(i,i,m,\"\\u2a02\",\"\\\\bigotimes\");a(i,i,m,\"\\u2a01\",\"\\\\bigoplus\");a(i,i,m,\"\\u2a00\",\"\\\\bigodot\");a(i,i,m,\"\\u222e\",\"\\\\oint\");a(i,i,m,\"\\u2a06\",\"\\\\bigsqcup\");a(i,i,m,\"\\u222b\",\"\\\\smallint\");a(n,s,h,\"\\u2026\",\"\\\\textellipsis\");a(i,s,h,\"\\u2026\",\"\\\\mathellipsis\");a(n,s,h,\"\\u2026\",\"\\\\ldots\");a(i,s,h,\"\\u2026\",\"\\\\ldots\");a(i,s,h,\"\\u22ef\",\"\\\\cdots\");a(i,s,h,\"\\u22f1\",\"\\\\ddots\");a(i,s,y,\"\\u22ee\",\"\\\\vdots\");a(i,s,o,\"\\xb4\",\"\\\\acute\");a(i,s,o,\"`\",\"\\\\grave\");a(i,s,o,\"\\xa8\",\"\\\\ddot\");a(i,s,o,\"~\",\"\\\\tilde\");a(i,s,o,\"\\xaf\",\"\\\\bar\");a(i,s,o,\"\\u02d8\",\"\\\\breve\");a(i,s,o,\"\\u02c7\",\"\\\\check\");a(i,s,o,\"^\",\"\\\\hat\");a(i,s,o,\"\\u20d7\",\"\\\\vec\");a(i,s,o,\"\\u02d9\",\"\\\\dot\");a(i,s,c,\"\\u0131\",\"\\\\imath\");a(i,s,c,\"\\u0237\",\"\\\\jmath\");a(n,s,y,\"\\u2013\",\"--\");a(n,s,y,\"\\u2014\",\"---\");a(n,s,y,\"\\u2018\",\"`\");a(n,s,y,\"\\u2019\",\"'\");a(n,s,y,\"\\u201c\",\"``\");a(n,s,y,\"\\u201d\",\"''\");a(i,s,y,\"\\xb0\",\"\\\\degree\");a(n,s,y,\"\\xb0\",\"\\\\degree\");a(i,s,c,\"\\xa3\",\"\\\\pounds\");a(i,l,y,\"\\u2720\",\"\\\\maltese\");a(n,l,y,\"\\u2720\",\"\\\\maltese\");a(n,s,g,\"\\xa0\",\"\\\\ \");a(n,s,g,\"\\xa0\",\" \");a(n,s,g,\"\\xa0\",\"~\");var x;var b;var w='0123456789/@.\"';for(x=0;x<w.length;x++){b=w.charAt(x);a(i,s,y,b,b)}var k='0123456789!@*()-=+[]\";:?/.,';for(x=0;x<k.length;x++){b=k.charAt(x);a(n,s,y,b,b)}var z=\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";for(x=0;x<z.length;x++){b=z.charAt(x);a(i,s,c,b,b);a(n,s,y,b,b)}for(x=192;x<=214;x++){b=String.fromCharCode(x);a(n,s,y,b,b)}for(x=216;x<=246;x++){b=String.fromCharCode(x);a(n,s,y,b,b)}for(x=248;x<=255;x++){b=String.fromCharCode(x);a(n,s,y,b,b)}for(x=1040;x<=1103;x++){b=String.fromCharCode(x);a(n,s,y,b,b)}a(n,s,y,\"\\u2013\",\"\\u2013\");a(n,s,y,\"\\u2014\",\"\\u2014\");a(n,s,y,\"\\u2018\",\"\\u2018\");a(n,s,y,\"\\u2019\",\"\\u2019\");a(n,s,y,\"\\u201c\",\"\\u201c\");a(n,s,y,\"\\u201d\",\"\\u201d\")},{}],24:[function(e,t,r){var a=/[\\uAC00-\\uD7AF]/;var i=/[\\u3040-\\u309F]|[\\u30A0-\\u30FF]|[\\u4E00-\\u9FAF]|[\\uAC00-\\uD7AF]/;t.exports={cjkRegex:i,hangulRegex:a}},{}],25:[function(e,t,r){var a=Array.prototype.indexOf;var i=function(e,t){if(e==null){return-1}if(a&&e.indexOf===a){return e.indexOf(t)}var r=0;var i=e.length;for(;r<i;r++){if(e[r]===t){return r}}return-1};var n=function(e,t){return i(e,t)!==-1};var s=function(e,t){return e===undefined?t:e};var l=/([A-Z])/g;var o=function(e){return e.replace(l,\"-$1\").toLowerCase()};var u={\"&\":\"&\",\">\":\">\",\"<\":\"<\",'\"':\""\",\"'\":\"'\"};var p=/[&><\"']/g;function h(e){return u[e]}function c(e){return(\"\"+e).replace(p,h)}var m;if(typeof document!==\"undefined\"){var f=document.createElement(\"span\");if(\"textContent\"in f){m=function(e,t){e.textContent=t}}else{m=function(e,t){e.innerText=t}}}function v(e){m(e,\"\")}t.exports={contains:n,deflt:s,escape:c,hyphenate:o,indexOf:i,setTextContent:m,clearNode:v}},{}]},{},[1])(1)});\n\n})($tw.node ? $tw.fakeDocument : window.document)\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/katex/katex.min.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_AMS-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_AMS-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Bold.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Bold.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Bold.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Bold.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Bold.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Bold.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Italic.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Italic.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-BoldItalic.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-BoldItalic.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Italic.woff": {
"text": "d09GRgABAAAAAF0MAA8AAAAAoegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAABc8AAAABwAAAAcZO5Ru09TLzIAAAHMAAAAUwAAAGBFiVkuY21hcAAAA3QAAADoAAAB0gm5h6tjdnQgAAAKkAAAAEEAAABoHwAEamZwZ20AAARcAAAFqAAAC5fbFNvwZ2FzcAAAXOgAAAAIAAAACAAAABBnbHlmAAALpAAATMYAAIXIiPZ0QGhlYWQAAAFYAAAAMwAAADYGmDweaGhlYQAAAYwAAAAgAAAAJAceAp1obXR4AAACIAAAAVQAAAGY5VIM9mxvY2EAAArUAAAAzgAAAM4cDPvubWF4cAAAAawAAAAgAAAAIAF0Aj9uYW1lAABYbAAAAxoAAAduWDuHsXBvc3QAAFuIAAABXQAAAd0kW73NcHJlcAAACgQAAACJAAAAlYH3c5p42mNgZGBgAGKDZzIT4vltvjLIM78AijBc3F6zGEb/v/lfjUWa6SwDEwMHEAMBAHQXDbMAeNpjYGRgYDr7X40hivnU/5v/3VikGYAiKCANAKLnBsAAAQAAAGYApAADAAAAAAACACAAMAB3AAAAcwFpAAAAAHjaY2Bi3MM4gYGVgYGpi2kPAwNDD4RmfMBgyMjEgAQaGBjeCzC8eQvjB6S5pjAwMii8/8+s8N+CIYrpLMMtBQaG/jhmoO6dTKuBShQYGAE9CRJGAHjaHVFBK4RhEH5mXsRSsvpa1mbtfmKzK+uzS9ZXVtK6COVAblpJag9+gThuObrwByTFweawubjhQjk4uCgODltKba3DevZ7a955ZuadmWfmRQ0OeGSJVw0wPhS1AlurlEc4xkVEPxDWI4SNn/YswnKLoMYxbVbpP8eAeYBtbOI/OHqIiAlQV5m3jZQuwtILuJpDylxhgvWCuoB++jLahYhcIibXiGor8QuG5RtT8g6fZpGUDVhyVv/VNuIRDJkCa63T94moVOtvcsece9qvSMsuutX1YpY+UVzYrGXJM+zGXLpD/nNIehxLnO0L6cYspoM8cgjpKXo0D8s0YUUPyGcSAW1Bu5QxSF59UkJCfrxetmyxThbjzBvTTQSkglHGPV6aIY9m+va4jxnu6gZ+DZHPMfvuo1eLxAV06jL1GuLcR+P9vJwgpmX+Q4L/kAf+AcBJRPd42mNgYGBmgGAZBkYGEDgD5DGC+SwMG4C0BoMCkMUBJPUZohiqGBYwT2GewTybeR7zAubFzMuYVzKfZL7IfI35I/PX9////wfqAKl0ZEgEqpyMpHIp8wrmjUCVV8Eq/wKVPv5/9f+R//v+z/yz/M+SP4v+LPgz/8/cP3P+zP4z5U/vn64/BX9yBdKgriIKMLIxwJUzMgEJJnQFEK8iARYMQ1jZ2Dk4ubh5ePn4BQSFhEVExcQlJKWkZWTlIPLyCopKyiqqauoamlraOrp6+gaGRsYmpmbmFgwUgRAgdkEWsCTLGABiIUS/eNqtVmlz01YUlbwkTkKWkoUWdXnixWlqP5mUQjBgQpAsu+AuztZKUFopdtJ9gZYZfoN/zZVpZ+g3flrPfbJNIEk7w5RhfM+7Onp3vwoZSpCxF/ihEK1nxsxWi8Z27gV02aLVMDoUvb2AMsX474JRMDoduW/ZNhkhGZ6s9w3T8CLXIVORiA4dyijRFfS8TbmVe/1Vc9LzO/72/cCWttULBLXbgU2boSWoyqgahiJJSXGXVqEanASt8fM1Zj5vBwJO9GJBk+0ggkbws0lG64zWIysKw9AisxyGkox2cBCGDmWVwD25YgyH8l47oLx0aUy6cD8kM3IopyT8Et0kv+8KfpIa51/KRH6HsiUbek/0RA93J2v5IsLaCqK2FW+HgQzxdHMnwCOLgxpYdiivaNwr941MmpoxHKUrkWLpxpTZPySzA/uULzk0rgQ7OeV1nuWMfcE30GYUMiWqaycLqj8+ZXi+W7JHyZ5QLyd/Mr3FLMMFDxFHwu/JmAuhM2VYnE0SFpwceknZoozrqYmpU16nZbxlWC9CO/rSGaUD6k9NZv3AtqQdlmyHplWSyfjUjesOzSgQhaAz3l1+HUC6IU3zaRunaZwcmsU1czolAhnowC7NeJHoRYJmkDSH5lRrN0hy3Xq4TNMH8olDb6jWVtDaSZWWDf281p9ViTHr7QXJ7KxHZuzSbJmbFK3rJmf4Zxo/ZC6hEtliO0g4eYjW7aG8bLZkS7w2xFb6nF9B77MmRCRN+N+E9uVSnVLAxDDmJbLlkbHRN01T12peGYmR8XcDmpWu8GkKTTkp0W+uiGD+r7k505gxXLcXJWfHyvS4bF1AmhYQ23zZoUWVmCyXkGeW51SSZfmmSnIs31JJnuV5lYyxtFQyzvJtlRRYvqOSCZYfKFEh84FDJQ0eOlTW4JFD7yqDpsuv4eN78PFd3C3gI0sbPrK8AB9ZSvjIchk+sizCR5Yr8JHl+/CR5Sp8ZKmUqOlWcxTMzkXCQ30iT5cD46O43yqKnDI5mKSLaOKmOKUSMq5KXmP/ykArObQ2Ko+5RBdLSd5c9AOsIQ7ww6OZOf74khJXtL8fgWf6x41gwk40znpj6U+D/9U3ZDW5ZC4iosuIHw6f7C8aO646dEVVztUcWv8vKpqwA/pVlMRYKoqKaPLwIpV3er2mbGLaA6x1rEVM9LppLi7AfhVbZgkDgv+aQhNe+aBXkULUerjr2ovHopLeQTncCZagiOd9cyt4mhFZYT3NrGTPhy7vwAK2qdRs2cD0ea+OUsR7KF32GS/qSsp6cRePM15sAUe8g159J4ZLWMyygRpKWGggLghtBfedYESm2y6HAUfu82io/LFbcSNHVNRO4LedbrkXtlDy65wDAU1+ZZADWUNqbmg1FTA8QjRkk41xtWo6ZRzAIKPGblARNXwb2eOBUrAvw5SPFXG6c/TrmxbqpA4eVEZyG98ceOANSxPx5/nVEIel3FBSVDhrDSzmWlhJKuYCBvDWSN0+qt58mX0i57aiavnES11F18o9GOZmgbfHOShLhSqgeqMOG2aXm0ui1SsYkvS6OpYGdvhrtGLz/+o+dp/3S01ihRyptx0OfPQ5GcP4Gxy/LQcJGMQxCrmJkBfT4cTXHXM4X6HLmMWPT9Hfwc41F+bpCvBdRVchWpw1H3kVDXzKhnn6RHE7UgvwU9XHngH4DMBk8Lnqm1rTBtCaLeb4ANvMYbDDHAa7zGGwx5zbAF8wh8GXzGEQMIdByBwP4B5zGNxnDoOvmMPgAXMaAF8zh8E3zGEQMYdBzBwXYJ85DDrMYdBlDoMDRddHaT7kA20AfavRLaDvdD/hsInD94pujNg/8EGzf9SI2T9pxNSfFdVG1F/4oKm/asTU3zRi6kNFN0fUR3zQ1N81YuofGjH1sXo6kcsM/3hyy1Q4oOxy+8nwm+L8A0V2TWZ42mPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGdicNutLMzFogVhblTj4OJg4IGwdNgk2MJvDaTfHAeYDDEwMnEAel9NuBgcgBPOYGVw2qjB2BEZscOiI2Mic4rJRDcTbxdHAwMji0JEcEgFSEgkEW1U4BDiYeLR2MP5v3cDSu5EJqJM1xQUABnknaAAAAHjaY2DAASKAUIVBhekAAwPTQcb1/7/+12ASBbIP/H8F5O+G8eHqVgPltjHuBIrbgdUdBKrbxrgLyDcG8QEMFBt3AAAAAAAAFgAWABYAFgBcAP4B2AKmA0wENgUYBioHYggECKgJugp2C2wMLAy2DYAOjg/GEKwRaBI4EuQT6hTsFbgWXhcQF5IX+hjIGToaHhsCG8wccB00Hg4eeB9GH9wgMCD0IYYiFCK6I1IkFCSKJW4mSCdIJ/An8Ci0KTAqTisQLHQtWC4KLsYvvDDgMcYyajMWM4g0SjUQNb42OjaiNv43oDf8OI44+jnMOiA6mDsAO3o71Dw0PLQ9TD4cPv4/kEBCQP5BqEJIQq5CwkLWQuQAAHjaxL15lCTXWSca996IG2tGZkZm5L4vkVmZWZlVudZeWd1VXdVVve/V1VJ3q9Va7VZbsiRLSDKyJPvZFraFvGAfsP1ghrHBjA2DDF4wNsvA4Rk4gz0P887MvOGAWWdYHmA4zKj6fTcicqleJA//zOlzuqszvpsV8a2/77vf/YLDXJPjuN/EJkc4kZNeozzi8FS15W/5Sy1/vvnRe5tNbL7+l030sxzi3n9jAj+Hv8n5uK3XMOIQ2tz6Qv7Yub4GP9a24BNumjsU3/rCtPMZhx4dfNZXhv99cHu7ryJOljgf8hExWA3nOu1el+t1W82QGeRE+qmg4EFfwbwmabtTPP/7hijGyN1Y1iThf/4AJnDDHOby8Nf/DfeynzvM3d1X6ogTZhHhsHtLCU7iBE4SLtu3Rnm2jOyIiJAigdtJcEhCjw5oxi9XyaHtvjZxOmxYT1pWURaT1ZbV7i6jVpfd5BKaRyEzYIRDrWYKmUFRR/mclc+J+TrqOVSlvEhFagbDzbHLqI1LIvWicLMiipjXD2QouogF2fDTRAILC6osECKoxsno3UmNIsJjPthVtL/KFRBfDxBCFf9mYD2Ifi+K4r7G+fvvF6UYJqRB8VkiExnt/tLuLxEV8QLWvCLGVPB5CMHej84tCJIY5RVB1iWMEa+iHKrGj/0ICILYPPx7/NPcLHeUu4d7ta9zSODSiAo7iFDicjINPKJEoFdANTi0A/wsbDFG4R0O4yJm8rZuS2aNyKpA1k9yCK4JiLsyIB2/Dlrhv3jXmZObB/cvtacnrLWrkhiqonadVJCVAyaWrB5IoJUJh8Ihm7FeZAsAeJ3PlSymQ73uPGqyfwyhDfSlHK0iCpRiqwmC63UJ+xSEEQRBBENh9iHKYJ6XqCJqfETBmAg8eh4Rfa1UDoQud5R9x/cdfkj85m+CPASBV2k8qwvkfejBfFI8Hax5PDpPFtHx49rEwaDZbRTo4SdQ3m9E1rbFlav47YggjBAWiNfACCuW1cpnyysqkTd7G8ubMoJfJ4oBDFyQeVxYy01JQI4o//ciFlsFa/fPa3MCrP/AgQM8fC7eB4zlmjf+Av8T/ga3yf36awcR5QY2WOQoWAXF1zkwMoyugZHwOwLi+doWyILscIRMEias2hsRW0PiMhlYcu5mYsQRRC6O1jD7Lt9EBBc4jvIga3g6dNb9VkSOboOglVK9UrIqOVGMg4SZRKhrMiFHUkuo5RgPk61lC5fJr9UE4acwo8HLDgk1dVRFzPbw+w+udpbestjT0aGpA9bk/CWDFzwmjnzofD5//8sBcWvyxWPz0wW6MIE1GZGI6PNhL9UzBUy9PgGBdfzhyYvR+lsvvyCZjzZz/si1FQ8vYWn7A6b8xE6y8I63rT0UM5BSxj4tRn1+7BX5l96PBCIQX9D2SVkwqjzY0zS3xT3SVzTEnN7IJ4XHLEjYa0GVPZet0WXbckzbcghYjrDXYuTyg+X57lUqxsYsxTWUFAoP7MOL4dOOw8XWyEAYOc3lgQCbwZB9YQmj9NAgciAvgce//m/KwaN3a4ntq8/rv/LINmgtLwVcQ/j0kQM4kk/lI8gj4A+EV44rF1cK9fJA9UWiB5hKC8a7Ljen3nbhARMj0AyENZ/gKP2HNs+IQCDxr4ONIeRdKVz6JMf0PA0M/Z/4M9wj3I843FsEBqscVq9zED1UUEPKE56S6xzcIxGYVvIU8VdkYKKyzSlKYUtCgiDucKJYFIGJ82+yXoGVWGEK63zRcHVVhIhgXHvLfVcv3V1eCxfL0UqvpEFcQO1ux/YoTHt1ZIbA+3QZEwWIDSTMOG8Lo9MuWVUEBMzndB39Bk024XoWtHuvYDrtvFWyg0kvC34OaKrIwl+myWL2Had5kaDFcFRemfVRGTHXIlIBYjZB2SwhMUIFMWgca9Pl8Ordi8npFUuhYUIfFMjud7+zMRIcfj8vTaZZlKG4IsYQNjQR/YqyINXqMkiDiORvMPIX1AyEFuZ5mNBefAnCDTFjgaQkmTcwfCwovmM7IQhU4q4AkWUkVgGX4UYhBukGEXnh97FIuaFM/zvI9CHuY45MexzEQizy14HlmKfXOElGsoSugzORJSpfYVZJtsEbFbYUuA9uB0THFZm/6dxpJYE18MuvDL5itK7KgRyT4JIuXzh/4tjm+sJcu2kVUslIyKNyD/EPaIBFerlBMHljgXTaS6jDBFtHtvQhoDB8wISP2ku4yUBCEDNSttBRAJGCf5uHoAX0eetLie2gRm4rkvhAJBD6zZkzx8AJoWymt0CzXvB2LEhRQROXMdDAs4tRY18vk6HaetRe7p8Acb2RLCCUKUIyuRGQQYiEonc9DzHHa3SJxHgnCOQGx4uCqCeCKZG+8xkNU4YmKHZkOIg/b+e+C34cfuEjSKADD1fmCC/yRLzOiRLACJFe4Xge7TAXAGFIELgdZp6T3CAOvQG9NaIvD0Fl8VZ6ASgE7uJoHQ/aUR3QwSccT8CaxxZwnHB28N0CZwekKOK2zx5Z39ef7U5WC7l4VJW5t6O3K6ARQu77ij4dO4yxgMWiWLhl2znzDo7mtMC9dp2YJrBw5wV3IOoS6FodldrMe6B9T3ziTSMUi3D3PmngYOMZ2j3vJ5F4vegIvXxvbMOrA8qA/0k0aEqEJ15KKA9KgAnoDJHTAs9n3xL6yLNvGMgiEAMrv/pew5yt7Ij1gnRRkHiAJH5QACQRDTwCQBJCJI9nNqTF/IaqigJoZF6BD9PW0M7JOyAO/gT3lb5yHmnoEIJbcHWkxGkcoFThiu5RmQZyO4oXdAvcNThkuNEhSHdw5R3IrT3kVYbpi+yCQwXJx5XBupvoQNpFxH38ox959f3/xzufeuwtVy+eOr61urzYa9WrBeYLRO4n0Cd9IHnUDLHoma8gJ0jaYbIFsnUtOM98RafdHcednXZ1qAJ7yfZS3YxqHfUIh/b+PhvkBudRr80UrI5zbAn7KsiUYAG5X6Vgr4D2JYXvSDwh4ETqaYEphLd4OXo66AdXMISt+155JZsj4tQeAjIGa/ciYUglvBMXI6cDHuZxxn9LUvTx/CuvoHSCUFGTvUKBEt04nc2cxD8FSZufgD+B+3r9WxBIwBc7qoNU4iBdAVGC3vNuAfR2cFHG2hAFe0eg2c9+ova/7Av5J2N9rxc0+R2PSeD7EVJMcG8Y9C0GSvdPoG+r3DN78tKoHT92ID5CAKF2IBDdAOJArjECa4ygyiIMwDHmD+Eur+y5AgpkIm5upl6zioV0NKyI3CpaluzgMRKzk3D0DAjuluMhmJTZlVbIzVlsjQL57tWVKhMJ0eiiFyKsVtXoAawsBsHPg0HrG5u9vqyIBH4OprMeSjZyOVGZzNgS9RXvje64vBQRrnx+MoYiEKjB7Xm8PMZYlBT4l0Ac2P2Tl98vAaNd/jObnQW//hTwsMt99rUJFkBcHqY4HrwkL1zHI/AK3pNcGCYUldtSWUOq8jDtSAyoOOArx9uZ4Iimn73NZUiKz7pEAjm2bWPeQqn3eNbBvC5rh/ZjJw1VlHOtJ8+cN7vAwradXTDzQ798VxQYykLlg/EjPpUBI9Er1yg/t4zMZ44uHp7ITQrZmCTGpq2DPv5J/DZNEL2MU25g1T1/8U9o8dzidL5VS5bB/4nJ/VMa+k+u72N8fJn7sb4+qYF63n9vAQLqMAvIUMKqDWhHYDpc2NI1lYiitONRZCJJRWnA0r101k10VaDrp9glmwx088otBMCsyHteeu6Jtz1y5fLO+e2zZt3yn45bT1z12uD1pnxhGKGYcjL2kSZnQxfHx9kup9d1EFDeCWCQYLBsfI8CO4UQRt9pN5AXu86QSYbapZBbABZK3pxxOH4HDIHnE13wOMcReoTXoz5w4bpvK9INegGmEt/WooZ/C8my5dsCEehF0zYDtdx70lDAu4CRKM35udXVcJh5PSoKqv8sOCmfh4ylMGOpisF+kAQ5yNwOFnZ/BWV4XfZiFUcxOBpEJD4K/rQuoU+iUOh8+WcpxopjQwSgt0/jSVR4+X2dzl0XbO8mYx8AuzEwBu7Njo8ZwMHvAR05yb3wGqR2wxw+DQZAAK+M2xp7EGEHTKAojEotN5NZI7KqYJdaXIqhJY1fZxn4TDdaKf7CVScDv300YqUuR6x2DcWORYMExvZyoSDDOyLN3Fx9GZOoW1QhWveg3ta81TCxq1uCtaaJ+oKvIMtGc2vZKk9HAJ1qHjpRZ3hlF+8tuIyXUgIAP1iVRADmQt44/dcrrxYKAAyUUPhwPygBlx99J4gf7y2u2HzPcxwfB74/zf3wL7ztkQD7SpfzyfFIoUgQocDhy6JKxqNFcjxa7CWyI0Z8FDFuuQo8T1Lu7Y8+/NDFu84d2zrYX+p18plYxOvhnqZPs9Qja9cJKeMlk4GbeuQg+bDlwswFLM0wg0t0GS0hhkCZv6MmHYKT2xja0MxiqAMmzRJSXMLmIA+hSNXX4hv+CERyhIMbfv4FuG+lElUASlJ65WiUoI3IRGdurjOhaZAG0kuXwMb4bNeGG0O7OpVJH/eO2RXeOHDuoV+XU4Ss0/fQfQpztzzzYxCFwJooX6DYA/bCzF0JQu7Iv/4fMSqunLzrrlMrwQDLJUF+BCgdKPFtIo4ZFPE55oSSKILe/1O7vyEDBm02X/9zJStIuo9BgCEGPcG90vd1rQLc237261lFxhV6nLKoSHYEW+qSE+RlPC7ycRJrnMQWOMAHwgiYxPdec3KKjQMrywtzncl8LmLqqkS5E+iw4gIFV8YBV7yOh02DVMKO07VFx1JJB+sxz+w4ZsLkikYitFFD3QviM1eDwrtxJ8UCGnjRi4fDuNN5C+p2+iY8Azw7BhShH4zH9nsYeXDd+AgO6JDuvcuVEPWkDwfXkExiEFUKMk7AGqd4iYRnn90V/uO39JggEg84QnhqghXmD0nx9Z8TMT7/+j/yWTdKsloYyxP/GH+dC3NT3NMOv00O0NoOWCLkgoTYjmsSDbDB8KI1vFhGg7zPAG8GVn9xSMOqYhFWcyMcpPqgsuSsu4ogltF9sdaYyPBipMqs5NYyca8ruKVgt3QDjs0pgHXR/+W3lHueODt7/MGHHl4/hIx7EplHUHVt0WOYvqVeOFPvz7Zi4cX5J3tJ/HWkf+jae5460Vpd3Xwmr7z3sUziwh8cukcjvDppFOe/dH7jXr9kHfm5i9ygPoj/2sapd3EvfTHMYXHM9QNCICK+TPfWCPkdyGyL/EAfbyWzRmRV3qmywzWGBwak49fZ3suB7dJLxQXrqiQmbvL94CtCdkx3+MWUy4ZNbxi+B6V2lrPoWAy6dZDuWCHR9Sa//DXP/FENgmF77a3iPRdTqTcIy+i+2oR40F8IscJiPoeOn5L2F+KGMogErt/AynKLBqPSbGvVQOjJt+t3CLvzVp4ZKJLoB97NlitW/MAEx/ZAmjeWbD1tc8e4y0joe04emSGilOQxRwaQbZojIicS7rqMBE4SBekKR6nN/doWAADR1snJLdBOm88T/ECp77zQGi0s37SQKXzjloVAzjGFGfuG8WX9ycEK8H0U/PSV26wc0TMgHTlxvNvZPnv88onL+1c6x7rHrHyjaqlitCq0u4tor730XDsC4GcG7dKyjaUZtHZMyyIQnmxowKpdY7WQFvi6cLNXsu3NuWAG0QeJt249NLCvp2yb+8m3Qb6K5ETaWpIpeFJx4kA0Wi+0Cw3Bc/iiF62W2lPN8+/wom5EWBfrNcRnNXCHiJeDqWNqS+R5dWSGKjPNd/95WxIQuKxSqpHRZRp+Kq/Oo1x7Su589R1K9vFmKlr7D+9SUw90TGmy/15T6angzGk+lHPs9cZf4r8De30L9wLi2Bamwl1EIh5TC4EKhF7nFEhUFMGuPbu2KyFKndrzUEyTQyu+80JrtLA6XFgeVwt3IYIlCjNy9xvusKxfu+MKeD4e8xdHC0VbK8LPvOOxR+6/9+6zJ45tbsz2phuVcumqetutuJC7Fcfk7/ww3EZAw0wCdKjUXiI9p1jK9kbfrDoi1CFvG+5LtJyiaqc95k9cUIk/9zl9p1Hkw8/UqLhfEPSIzls+gWrBSKosmQ+kZRbwJeyteoOLa5nsqPZRuBg5s7f2gdbN1WUtFgB3g/atHYmt5H2hmzbwEPZMl6eV4HbPL1gbWnsqnU9ib1unmlGqqXjZF1E9PimmzPqaERGjd72IxduXONSQBzwR2f0f8J1UnQpvpdJO3awNMfMl/A3uDPedvnZiHWx2Ig4he6BvFnh0SPXYlgXAe57t2gk7FDISiKeD8ucooN6R2hpRjyJs/mZqBtZ4dHG0igGeiZuo4ALHiQIoFQBw/uzge3k7BveN40cPbR1YbUxaxUwqGs5Jouls9zE9YR4kNIo0+VwD2Qk70wUH2ZjMxww8CqhOHY2KbeEeg0RBd0G7iyfWVnpX01HyEvKGFyTBu/SiFrrSUxIJKnrmsOFhlW3+7JaiN7YU3KYvklpnttza4EX1gco8YEzPLPUEQVzS6ub5pXRNwnneVz0dS8UTP5DAPTWd5iXyZ2BI3mhspY/VIy0p3A+jPPZstZsPJ2sq6veR/l0qU17I2rI0wYF8Hf9r7iL38M8vAkcOOjLMsnI04dH1YUJW2AKPAthxWxrsbaQHNJxg50rkyhiFvYsRptzZ04e3phulQjLm1T0qd5HeLQ+TCLfmbJtTy61DtUdVEfhp4NezzSQKBxm0tON7HZecUiOBgD5IKVjawSrWOfSp+LP55/Neu+KcWDD9EtsEyvvVA8n0frMaimdEqhIPTYW8kE18+90oj3jsoSKGvEjWvKVEpg6I+WWPvpjzsDq1wArT9t4CgcyC5N+/WkUBKlA5lroQkiim59cmAiLbAUf0O6yCDL8OicFuNJzyScxPo9e/xbNvBwNlybvN9wWwoRvgsy9wn+xrKV0DC24A5h/YUFQERADfuMMyxMKWvYk99M3WzQTWkKA8jOlhuGDTcBhdGb/cT+y9wvPcWfc6x9sGod73ZLVUfF8ox6BXL2iXo4w3BPvDMpaDuTAjfsOaMSAw+iOLMyeejd4zjvq9m/HYKkP9JLBu4KkJOfXJy8evQaKAW9Ozb1zuRd0exi/3Fh/aQu9Rbgf/ha9+NrX9vgub1B825N/+95KIb1O8xb/7h0Hd9XFw5ae5g9w7+94cwpwJl/FmjWJuwxFRCFALpP+A9EGybGMAEM8kHbCfgT7OoaAM+1NapjbsBX15jF2DhWfthXjHIeMwML/vA1Ec5NZjkdNp01+SxXg1YGfajI09NxoxjgeNIYrJuTDXpnAQsF0JoSLnxQwbWQSzjb15USFqZfkJU7HN1QxJSTKHDh78YSxMOq07W8aaIYoy0bsZLAPN7oeoYBiEJwUL0UkVPyvyUoTYRSSAroKCdz3o8cf/ileEsOC27oi8oROSxAqi/Os/TZhgwQDm0BJRbb1v3fgLPgJ8fRf3qb7/7iOlIjz4M0vz6RR820D54x5NZmCA8VYSedaiUdhSkaJMKgP23obEsknKQNIvwE9Yecy5wBjtkuCdwTKH2XG4pXdxz//AU299+N577rqwc+bwVvGJWvGVoC7GbL73blNjsnlv2ECx5BYlwzdZQzhomL0lwdlas10/22tn8nFpmIuDmGvDDtxx7QH+08YsgsyJHq0yp9RUTzGIXWElA16cRT96FFIlWkg4xapEbjF51OcHc460FYIyGMu6Gcubz/OlkM7iJuZBflv+fQGQDBGXcyL67GcQNbw8yWqhh9JbBUSDAVxD2Jdmsg15RhUrQGPibkVEwfcVK+DjwZyCTlmEj7MwRHhtd14jxBsu1JcKf6QRn18him1xQKXSCCYNFe1+Z/c7CJQb/aloFL/ce3EZKfDYTyFZsGv5MUhsToEuPM/9aN94y6FyEezhHWynBG8uIOKaWUp0ShsU3DABNVAku2Kl7S2A7KGy9lLZNZAEuyK6RZCbL7MyyPPPPPn4fVcvnjt5fHX//OwMhKXHS0WfB3LzVs7dWYW/SmBJe/dKXYPzIkgrbAqmFTmrNzBZuxLtukjWz2XXopu3VL+YGnUAXOTcnrxQa6wtr+Jj+yZnppVvo7cKcjdhRzY9dzZ0KqhA3PJaOp7MdBrxkIKIKUgyiIFq4ctnNQmM2Xd4WmaO88zZ5X280sqDKL2H0qkTTiILqDDoR/UG+gqSkkhBIFOqBY4Fj6i8pkNAnFb+HKGQoCJncx2iWUQUeA1dOzXfSod9kpdiKcAKy45rKIPbALR+CX3qX/EyklQTwqJAfF74R5Tw40/8LpaUAEUKVT2ODqRA2v8DdOBu7tW+51wbdIVbnwQpDRskZUmwZSVShTA/YJfcWOfXaO/1JhprRGNvuMbsj20a0K0r4xeZD4Dwd+bA6vLS4mxrumxl42ZAlbm7+Qsq4BRuj1nbuwQDiees4b6qjV2WkcVs100Sxt11zrSdNbFFPHLX+KmpOdUjIhzYmJRfeD4WX/XLbIPyVP+EbdP5UlQgsejECTmQL7C4p00tPh2w3QHVZu6Ff3wxK/KwKGf84A1UHX8GDDAGcpqUP/GxBx4WVCKaMuM7s1hEFeH++x//M5kHz6gBCLGduId6hN0/gm8KJGvJZxWP7CMKa8wEucyBt/wWyGWJe+W1LkN5rjwKrO+IQ6yhhVXuGVy3G70KrBx20wbAnWitIa29C5C7mQyMEiR1hduzFSAXZ0rr1S7bT+sBlOZ6pZxb8Cem7TsZ7HDq/SAfzm50cY0WgLjd5cJMbY5iAyvq8nnp0JkIq7MicF0kI/llsIY//VOBvv43iGxflA6eTogymA9vnhDIX/13TCSvhvBptkA5sQnMY3BOeUtsJgXMBSCBI6//DMAYJK8e9KWiisrv/jPbznfz8++hf0Zf4nrcEe65vlJEnHgIMhKm4jHWLQJ4WRRETgAG8KUtyHFt9SxtsXxmlAD1y8AckfDi9RH97UkBeLOi7sJco162CrkoaxzqoR4D3sXmoMrosMO0Rj+P+kcctzbIapk6C8Fhy6NTN7HjIEV/CpkECWU8Acm3zMrMGE81aGBfFTR/bWqu3yz7Up7gVkJWwYh4LO2+mk4ls9oEj1tqaKK86Etq6OOI54l2KuOR8LSHhRg8qaBebdVH+48XJqdTPs2z+wdGBUnBQ0GEGoVaRKpJ/O9IWqi6Wjt6mvhsHpdv/AP6SfxFrsYd4Dr9pmJvDbNyLEcgQbHLtSzr4+Ab2I6vrYdlfGhlObJpxeFpotWAnao5+0fsmd1CksuZ9jLqwmMPtiEDbea6HY++pyW0u40+iLScFBB4mqtoMa299GMXkrEjtNnC/qDIm0x1CPnnRQBY7ToEqzymEV8km4um/Qb+adV4d27DCBCaADiknepf/3ee/NuSCfTNb+oiEQI6JrufOIbURQwP80NKOjoV8WXC+9c3bGyVAx78DPoyN8uV+0UOnDu44uuDKnWJMcAp5HGHqpXiTFmAhy42Q3uKzoMGIvvB3S2epluBHlbKnAL0R/lAeuliyP9wJRBIvrBJPfnUjJUMhII+ifBqIJeKm6FYxqfGwiWv7+4F+akALydmdHyuOFmf2npQQmqknS6ZAX8GlFnV5VBsY38jUQ9HsL6mDOwGqyDTg5Al/fBrxxHYl+uFpjgiY7DY606BkVUoJdUB4bJMdwBtQ/6MWIGJdf7aWc+dllh3WrLdTyLuHEDC9bWV5W67NpFJhYKaKhDuINpgO2FoCbPgYAcF105sT3NH63IKkaEOMLk9gBEMW5KhPdmFKbZthr7otQJIexUPTYcP3NbOVpcOmcFeUkAdRNWkCdFBkFAgvxbqONaVTnXmJLmAv8CKBuLrP6soA0uS+NsY3V07hwK0QjH/LUHj7YaqAMa7HzvqWBpfqG2ohVeYbEqurtW4RW6qPzkZwbbBgVcjAr4ysLUS8/QDpQsXShObFnPgxUEMLY2apoF1ozpLThxV6Qb7Hyz02pS25p14pGeFjKxkvnABeUllXkbYPDd9ugjgs1K5flBO0aV8cTqiBrOJ+bmAaCvfRlyLN5et4pFrCipmeN0Q10MeSP+06XSjd1r5s3YwuZQCkCBEEl5mT70bLWzhb4D+/RPrIeQF+ExmXluza5wQkgX+AY4VReUHWPMHc8W1LdYn7KTlJZaWSxc4SZq22yWcYqy9DNQQ1iGZu/79LJx+o4XWHRf2J29ZQzjWRXyFVQAgVjmVgQE9S/31A6shq10slErhrCImq461B7q9juv5GHJx61st1z92wDdaTregi45Y7cbRfLexBT57Io7Dfm0xgRoNIrLo6SlPGcSslKuF6UK8lpcNLSlLhqc3aQCirc+Ei3Jutrgxxa79OK1k0f6PMWhpeBGrtFxSLhazuJxNlitFv0Ct1NV9GFMGN5/+5fLHuplyNjUBV5z9LOVGC/1X0NU2t8H942tZuDXkCrEmsSII4h5wIi+lNkcbzD04Xe/snIFwAVg9baMaFq4n7TWAJK9/n4sch8UTCsDt+mjxm6z7vpZUx5fYZXHEre2fnWlMWoVMKmwqEtdGbRb4w47JtQZhCqCosx8y9Etd92QTtrMOe38f1bEb5hzzgxi4aUSCIlaaVihclqjiKdQ0z8pWsn6mPlGfwFhPeIKPksCTm4+ZQgGdkLyZMAS6SjoR9S/NdqTCesiIB0SiqZORQHVKSql4Z2157lI1NIVJ2Kd5d+eE7npN9sbK6IOxRBgpleI9q5mjB5SXwfambvwDrtrx4Nf6ShRRMsuSCjck1DkJiUgSmV3YANMueBUYg1zvbvt8zFK+8rCz9/arrDuu6teGC3iOAPa54iy8Pbmzvb5vZXF+ulEqFnKpBEQQBeLHwVHLrp0U2NaDHYG0A2PBwW11Ahc/SDXdgnPX2QW1P0CfLDWVhodMG9L+lpjLCJ60Fn51FA4AkBQscX69t4/IdQOyssS0TqgngHhfPqc0ir7EU6ve8DzWT3je8y4t7o3gQwPnr8rqyx8mWOx222Fv67npkK4stlRwIUift6pgWybEgTr+CKdy69w7t74Qcjyjg1M5kRKRXuNYasbZwdlF9A1mNXhHQjYGs/3U3hUcO+GFrtyefrtverT+0mxvslrMxcLaume9kJPFUDXQdphkb/PZzG13Wfe7U1IO6rgCfsly9d1mphc5YcXxa+5BuV+0oka0HDEi4dIUviD4cSSU8WJWmKc6JbFmPF1uC2hyUvDrai1KBF0WeRJYx+fCVsQIlSOvf6Fe8lP8d9gXjISzi+CvMKXqmZxZL3n8+KmnQkqUmqc0HgIKL8+esn3Ujb+/0Uav2nzc4L7U1ynwbAL83QI4K+I6q0mOYIrZHhkVRXrfGFvdnTQ7dxhzPCFbwUeLQMGuvdkqthO3dwFnt35duS05KxaHCrUDM/lCztmnZ5wN2xIQ287uqg4IOQd8txFSs2tv3SeRiycHnY9MGqyeAtiHdNpowor5w7gQNyJKTNXiLT/iqSDqEk1N5fJIFyLBWHS6RXyHG9FIaaocDYQzAoQLXVXTmRA+FSuZ/njJ/K0kL89VCKiN5Nmw4hA3ZF8+6/uN35Sq+z00l01YoUAhgOYKleoPPHdZEjnHx6B/BB9zH/fxvpICyGm5O6kKMHOGkxkEAE+MWc/wA5CGQSy7ZsdUe+dq1BTSYHCb7rBtS7vwO7t3KVP173MtBOVLF0oxq9AoFWo5FpQDQ7ewhIfK7LLSDcXwx932HCj4oAbv0rEszj7ugwf9p8beDOe9zG00m4GIHl+IlAupfC4diObCoqbl6oFSstTwT/lkNW54o0Fs6JgK8Uo0Uu9R6ilkPdgTVnkh5tXCm4XieN4DGY4k/ta/FzW/J7bgjZezhcmQEc0TrOW8pWRWpYGsYXoWpLI3elTCvH8nY/TqsiV5tKiuTl+oa56AV1NQ7ZVXBvkQcNUCmSkgsy7X6k9NpinbGNnkQHYYkeuDegMr09tOGegL8aihc13UFexzvcxTBLpWu85X0BjMYaEwaGc8Q3Qfsjt0RfreyS76QYQhQPOyoJAI66jjyQeJ9sMY6byPT4RsyG4gn5ioKWprUhNYHRwSMjQ4baZK6utf07GHJCXwLb4zgMgFXuz5VhRs78vd+AeyDZjlSe5c//REDmM0g8AgNzm7adr2lGA+11SZVTBY760NCyjldhRJI+6DPvLWS3efObW5sdJfmJuql610MsSKW0+iJz3Og7NdNDf8DP3jKFEBzWE/pNGYx7xN+BllN3sCWQO5e0HjH79FD1olEpXVSGTgUfVgJJJcjqqQ1R67HERScTqduTVSxVaNqBWP6DWNhbkD02I2K3hSEbDtnORXxz5TvbGPfUL0agUxcMF2vcRTnAtHJgMyVvsniFILqk4smwqPYtldlhxJpAPFxxdZHPSe0t79ghIPEh6rL2bWqnjsQ1c2eBVkc4zb6m+kWMstYnIBUM28poCocI118TgtmA3ngJDoQgKnMNNqNibZ+R3DBwjtGDqmuOIwBjwENtPbyWIgg6DT1vJGEgBWH8IoEg6oCsV+nQqpJUmejwGflw4Df5VJw5+b9mDjTswFRqKaRzBKRbMSBFdEeP8TOnb4yDg4+8RUOLbRkO7IPxt7s5rEf0Jf4kx4eKufT7NtO1aYcbLCEotCgya68mRkby+cjsYO1RK3Z6M7YhFK6xlpeSNdfO/LZxRE5IXy6l0NyzAOFkI6OrE8lTWD6EtIPb8+P7+xfWyF+mK+1uVcZ/c3qi0aOdM9TqOX58qHDtrx9w9uLKG/BZme5K5xx/tHDihYpGkkg8XNIH5dAVtjvT7XmU/mdiCGcg1WN3DKSKPWtgn+EMc9eP+Z0/A9x0ul00cqZkl19/BcSY5KS24ALFkN+9BlijRDc84+0/Cw/vBE/0gxbDPNF8fqT3ZdJuSeGuh1k2AvsUhyy1Qmp+z6UyB6z1woFvLH/QKqsO18AYA7z6oIhCq+g8aBgMTO+gdzAnkco6gmDWwTXR9WqUQvjYk0VMp0DSNgoBAlUmkuFunLFRVj7WS/0dt3xaBUCwvoc7bjZXVnnyay0xwxkLhK0e/pgjzhGmVjUMOKL4Qe4iPqBFjDkQ2n5rOEvglymOMOc/v7/X0FzLI1O/Nh1lQapj6M6wzLsGaDCe4Qzx1cX1poNSZK+WzEBJA9x8/INsh2qvSdQSNgr32bemfPDqiENRI0h/2qgduUZWhwzecFpOqbUmgoiMR8eazaOZuPSDlNWVvPiTZ7WaOq56ZCzNeRhBXioyJ/9jhCfGKs1NmOCBFJ3v1vu3/MS+6RF0xvrry4/gf9W+DRIvfW16ZZOuzCkyzH2rqFBzi2hcZdo2M+SHTPJ/ZzDg07AH8nIvvgULs5WS0VErGAT6LcIlqUBh7qjtECdPomMNIb1Q1td3Qspkojv29raSkaYjpSnKLBYj2fDERnQroZyKYUJZlzXNCSURp6clvnAn6DImlCQZVCphoypr0exTfly739ZTkOvOnc+B76CeDNYe7xvlIGGexHToOkYncPER5SjQcoO3wFEI/nbVVqDLPoMkPARYeKu87IAPpeuy3ddj/AfHmvU6sU8z6dO4wOi6xnuukePdHtMydM52yoVRccFz1eXB3UVp1WM+dPcKCb3ScC4YDPw4qexJtsHEp7s/KEYIoeUaYTE/UTl4M4FfUFUxI8Y2Sy1PUqE3W94cPIP/2ehxNi8dMhw5+RmI0Iknc6amZ8VGKH2gGoJDszk+1VQU/kDV/WywuhWt7QZVkRzWkazBXvW/IG0xXgZQD0bBM/yu3nrn1xKYd5gSmaM5eBTUnhBMK+7bokYubOWT91yUGug26H/B46IGCkAkfuHaNyWh72c/1SORScDXZHLQ9s42ZYZxqcMWQBMD8sB3ZHTXzDIQyLbFE7HxMBJ3mrnYBJtJwnEOBVgpst0fNwoYhQXBSaE4qEqRbk1elosVJoyTifRy30POShUeDTseM0gXwe7aB/QoFYwIc8r3xEEpQKktd9JmgiVjIrgUQxJQWMl3+ItXG4uKAEuneG+1BfIwADcjGeNUBsOhW8GmADLDizJwSMrskOw9zj+42tEWawj5k15OE2z951d1hh1xoOb60sz3br1XQyGvZ6IKU5g84oziFRQOCDQnWrOdZrPuh+tFwAYd05XR51Tjp7a+h39cAhlAj7VC822E5Qakby7YtS2mzXcmChWCyFBFkImxn/MH8OVvLFStOYkFAkU8kFBVxIaZIffd6r7/6KoFZIPjwn2TtCTwTwjEDrRqQlTnmqD8yHddXM9N1seq2caRSDjWsdyWuVC0GN//A7JiSv6xu/hb7CrbBdII6d92d7IDZGdsIH2wShg0xgbmaymklBvFC5FbQiDrMBiLo3w+IxPjBODPdBmHUPU1jg0N/2t7Bs+WhAlFux4VNHmvF8qUm8dSJ4mnFzaUIqeYrhSCwYSC6rK8uGb+rKlOGLEuOy84Da0ZJZK/hlsfhsJ+6v+iY+nDBqec0bLk6m88cOzz4/0Lefg2e9yn2hL991puLn0bCyaTEgKkAIH2oZ3hHtCvFeNXNU807UtyjlBJs+IWBHKe0Vd6J1al8728eOHtg/P1OvlYuxqK5xV9HVgT46G2ehWxnZGmu3tEpuenpn5RyppxunO2D/tnp+Qw/OY6x6jfB6JSyhgs8KIx5XAkFj+iT1TK7qocnC/uOY3qqlilyco/6JKaPGW4VqFswukeE9TEs9f+JXI8mkqj290BSUZsoTCOeRupw5eajxjA+lE8lUfzkulx/cq68pY8uLG4Vg44lpT3lyUQ4nBfTEs2LcOe8FclTAb1xlvYAxAFTkyBzmpUHU6nCYgPN6QEOqQFRWMgDMLV3jJJ6X7mPn2QeAVAa7oRfEQcmh56xTr9+6kEj8tTuu3O6H4Lauclcv3X3yeLFgFSqlQrHkYYUHqzPgd/imUN/es0kYcjPE5s1eZrAboOP80IRYEcPuk7J7COcoH2+s62J+3uMhxamJFqCCSFNVAh5qGaSNSSJcWdVYUoj9nUb7QCE5KfvnIkohUc1jNmPEq+mFmJqguoiEWHhynwcLOgBWIV5ZV3Eh7ucrjVy6EjLqfnhc7GtKv+vxeiOJ9apCJKQs1YvLk1484Q+nKpWiH7EaAhUmjevhmRSJa5HE2qRMbNtrob8Bmd3H/WFfPwa+voEkGgdy4kqtDQYiCVQCr83qHg/c7O05SXJaMu2yzwVwUdPDLufO+FpI7a9/f4v7M+MhY88XvMlSx1gvnD9yiBnrZDWbCvhVmbsP3ecaq70rMEo0hzIMhe3D4k4nomuwbxZI7CZeV0vYVqizHYF+Rw/eI/rWG93GobgSMMM1R5zE8Pkkv2ytGirPFydb+24fVsxKDsIKRl47sIQnTJ8SkC3bZGO7TwSmT0ZiU3osFwi4QmVtw+qxmSzrb45PTd4mxBwoZeoTAUyLj7RZkImEg6h0JP/Rkc2ib4P8z3Jn+ifXEGCrTUDUEoeB54CYJQqoEfIZNlmKcopMlSvDIGRvEsg7mopluSxDwsi+5NSJw5uFXHW1UMrnqszWwqMzLV3GdicXyQ2TFtZH5hb23J4Xt8Ms3AyPm98QFzkGmp+g1FeoXD0c1wRtohZIlgVdMIlnoaAJ3phHT4dkwR8XCVE9VA4mJi8fS2reUL4VKC/LPMAl7D3aoao/ETUVSa/lBb9KCS+nqlMXDiR8qhrwSuxocmmGYk3VU1iaVBHFvC+T7Zxdz2hI9pRSMq8gqX1cRXrYFIQFyZ3FgfB/wJ/hDrBZHBbi7ROQAw+YYm3+mHfH5vB7Rh34uUGpOzOgGo7j8W3dTJf/Pr7tDQnCnL3PBhnSbK9ey2fjMTOgiNwB1Jfo3tEKdxrK445hcecxOc3rblYw6AmcNkZnPsYm7qAbzsQduBshXY1vr7M5Sy9T7UAUs2Ox/uClQv7s6AjHYKYOG4rizNQRqL8anipLvD086fVvYQp/7JOuAosDLP+e4jgSxN/kTC7DvfRamJ0rcRGFDxTY2BocbXTYqbuf+276PH8H+totn4cZw33s/PejYx8Bi7dfq8w0CQ1Xi8ClbAasgWOwrGmzKmSooNY4mOmU6ogEQV12X939MCgNgBFJpH5IVX7ylxYvXfwa+idRyknweOAE8ZfZBCrWEf76BjqKuB98fvcGxpn0+53zdYNzoG3uMsr1te0tLNL9HbZ97u4wVmUkgDeF/FrkeEHk7xncsM8+DRUY1u+jtiMv/q8sCaJBJ2vNXQI++/taw1jagAuY7dZcf4PF48vYxvcdV+w9w+rDtjT6+uVLhXapMF87MpFRaPINT6zavZFO2j8AeI6TF9vLqO30BjCf5IYEM+iMj3GRhf2VEDtuf8S1fnANeyQP3nixOqWjtWUpHJGX3lZe9OF3YfLCC5BqEo8mEL+fsJblPZ8IAKqCtz0M+0enH1IQkh48fflxJXPiXg1j5dz+B99rfBarCtK9oDKiuLKKiTL2//4q786aYvMpPwk2s8Z9ta/NtMIAAlYAJg86RULAeWNLtOf7cBABJDJuPiHbT93uav4N19bucNU2KLiAyaO3XLAFGea5/nJzqlpg/UxeDxW4NX5NBufVck72W4MQ3+tyHbteEWOhxj1dOz5PCEjA/Boox43NEf0bfTW8qPlFjESi9DMYbYumn6JgEJRKykdFjyd90jwV9FFwWLNeL8/ODN1gxZUAIYJ9ig0gnE6nwOuyRo3dr+1+mRcExDJw7PSyGv/f/NPpzG5P4KUYmxjqZYe9Ohzr7/rX3AR3knsOPfjavUiRB55rhh2UAZcOVijJkviAimRFke9j/g6xsxnOAdR7KIDg+BanKNoFD9I0vzYQ0ext1kuycu37+oIIfMGc+wX89X/JNzA9mL/pG+Tr/wtf8S9fHdYcnYmcOnXquVPPPv7YW+6/cD5o5Tv1Xrma08ENBNq9bDNsDkad2psWS6hj5d10gOTsImE3wA5t9Qb9uY69O0Nqg64DWUZZZvjE6Tq0rzjJRAo15zEAmk53bIVIs/9FRJ99CiEPkTCbMSdiEYnJX/sLKuugalQSNbEs26e6giZ4AI8o8B//hCBQ1SeWQfc87MDp7m9TwOa/KKaQXaxme3OBXO4j999bJqKmUo8mTrJQuvvf8I9idsKLCKveCUUW4ff3eJ5QqUHY1qeA37P7GDv1deaEfSgpEEBhU4QfPs06eCJB06B0959FnnyMh6VI0visn80PEZCey4N2449RcCnDmWRPAg66l/vccEYUg0AxDnI25/SCLDrd7pTtFI7gT0JyjkDY/uQ2NPk3+ZY7XnQhTxxx58+dOLKxttRrTrHSsA187kUX1TcBPplBW597tO9Nx5PFICmoosGkkBHdlP/2sOgEOjk+hwW/4XixjTX0yivyu/cOGLs9aBobzSK8/h3+dlPCKEoiAEnZ179Lxk7ROv3zxMI/DTHhw32lCV6tiJxKYMRujBcAagl759pCTuYbjrX1k4HIcjfTQloh2ANrR5RvShS26zGyNbnW24IEIObMBGXnFUBKISOJqOmYb3NY3bNbWe2DD/ks5G5cp42dxoAJdxccAjj+I172VCaSL79LeDd4+KOFT6Dq1BdDFwpti1KFmGcQjme/u/tdMJ25H7NTNYISKEHAi/NeTUK/oVQlKxIPCTxSdr/LTk4axnr2/ZDgJSZ2DFFFf8KOHkkCUv082hJ4zQCjoeIfgKyZrSTAeX0Vf4O7wD3ZV3KI4+tuV73NNwgHAGh4SIZZPdFpjodgCapgl579rETyZkRh6pRVz55eX1ueaU1PlLLpaFgWuQtoRwG1B6+GRlV9MThI2GxsFHTyNXfmIngic3ywpq33owkVrPFlMJPAroNMSpTE5u9qxRfYaRg50j+VzQeUbEUUDBPV0jOT69bW2DDNx5IPhFVKkWyuGpIoASoKYFENL1nLCpFVHAbXFZy8FKk/VWQFAT40eT2rYXn2hCoy3ecT6cnVV3f/s0IHUzQRoabMQ3ogpdM7F4/pExOd6Gw5rQgQayPA93fZZ3beyj3Jat3wSNz1tx4lEMw3B7kYoElO5K8Te2QAYytLxnje7ufyC6NczKVjbQzOPJA9VG9IELYbkLz3Xt7c2DffbRf9p7MSjYyPW7MH2d00HIqdrRpsv+pYzO2dd3qTWOCPfdDPaWVYRl3SNjqDfmTwTgEIBE6xA927HbGH03iPnF1cV0bjowQZs4QUWHnsaW/0xVOCJyzzyByT3dsSV8dkh01fLfOwjrF88Zm+33wYgG/kaN4qpCZ/NjmlXKhNL+LrHmeCDR5Ml/LkFRO+AMmn+6lU57SfZa/8Me1WYQonMdUmjmqyorXPNSV8dvcYKwCJwe7svlbUpKj99Few1p0/OlXnhufDfx5k/Rz3Z31lC1GOdaQNpFwF4CdRUbpuT9/dYcmVz2lCYYe7QluQ50vyDifLfnkg8InBEsLu0TmCfMcFxe9/QRgW9Eu30jIyKnL0yjilDWmefsejD993710XTp/cPNDrTDXqE4VcTaVmtWfjX6cczeaJhJLMlNkOO9sC7nXtKbm3VzAvag5cgHP+Pxh2pq8Oa6P5HNvrfyOF+85nVJrS1XKFn1BUMhMjohj3dLylvKtex04tbSjqUL081Q7SGqXZuCglm0Ilo7EznIBtImbYG3lqO68QHLqjroU/Fv14aTpsNHgse1UkLapRa6p8OqGTROKt7W9rAMn3KJrQ+Ny3ed2avz8ePKyyRiQEyZVCY/HZC8+FJHyG3MZ/nLH16BjEQwPy64e5T/QVry0bAQ0ypAyPOGq3YbM2T45pEXsK4QJYw7i3yNp01GmFvj3hm9E4PgO0Gu7koZ3tQ5v79812J0pnozINVVtWya2v2UUGEHkzBYHQ6ZVjA0LcNHYs9WWKwdp0nQvOQnFY5xn0q1gjl2EvA4U4y3IzLBCTB1zpQd6kMs3TdFKCKCnPWf3N+Zn7D0w0ZsKHVxKBQFDLo4AqqFGexXJaLBCyvQ1+UI35p8qx1rH9WwcuBiBSMiwZ2iC8yh+aYyeASTUUtE/kapHi8UMVOZWJTZ5LtcOBavzE1MbpwrnNcoJnuYHs7dqHX+ixo3ADkrfcsg7vb146su9w68CrWrm+dqJgWmVFQG5PD95BX+ZmuFOsV2atXRCB6ckg83ObbPraQXEoA7ZHJFwDUdgAJ+5sLTFHEcSHQCuOLM43qrlMPBLwczNohtXQnCM0Xmf7fHzIPsDHBqJ7Ru3bB3CB0GSIBQ2nuiyjUtvq1AV3eOkBk08eVCGtJFSPCGzTl6qVmLgaJh26ubV+VoFLH9ohXn7fWUhLp2O8sNuvT8QyMx3RwzPXhkTNzIbW2lF/EL1XIp5HLuuR4+ChAx4RIKAWSm+IeVJxOozOf1BBB1eSVnLzgi7s/nW1JellQeV5Wc77rcpiNuc9WOzbPUdc+MYSXgT8kuM2uOf7+tpKMchT0k1jYehhrcGhLZ9z0EAC0BlgTHRKOVts481kLdQWM0b82BuT20cDC3mOW923MNeYzG8UNuCX52pbTPlZwdlwVdY92EzFYVmywXwXctqXxiYn4eFuD3zojshJ0k/x8alYaHIGe/nlozNTntYHLivxbYvvYwP1rALteDHSl0xv+1xM2IfQfPP8fUK+Uj1K9F9hidDT+qmFnNeS0NbC9F0ZT+vY/R/w4jX6OmUDTkuX5YghtHj9kZO+3X+WBd/MygcfoHN5PS2KCSdmqTfKOI2+BBi822+p4FdmZyIAJPHm8KCpzRX3NGqc7Qmb/KHmNChWKCuwkqPPrrbnnQcCPbMN3m7CG7WCDoeP2fyxN41xF134kanjPjBsPSiE7pnT4nRqKaQjQSy2TIR1DzWOd8AnGtEgL/iRXAOvdy93o1NhR9P8K+chsThzbiHKq76L95UQm0Bsferjfs/axgMySSh06QMBQ3HqtIUb30O/in+b63Lr3E/9wv6qRZz5nJo9fQ0R9hqG65x9ovaaXSUaNLEE8aCscRsy301kte/n21jiiMijTq8HMPjRsYv2azTmZ1vTi+Ec4ywKus0Gzm4EOMSBIwXrtoeM2/y1ExP3+CFjPHKPn3bacMVu/fvVuKnyupkN8lLKK13JZ6qluWRcrOSsBhICO+VFLJEiRY2i5PXfpxm7PzNVi5sxy6sFlQv5IP5oAKzMSAjIVNXaU7WN3j2nttK6ETjUTESvbqVN3i8e6QjqRE/BKMRLr3+nMWPGHuzkllIVPvPsqqNn8Rt/gT6Hfo1b4X6vry6HsUSlsREuHVZOFdihBkAkItuLQxInMT6K7AyJdGVwgCtuq+IFYFh0yPR/wWJbFM03XceUB18aLrfDobG02Gu3pqsTpWI2bRlZGSTVs/trWiF3CkHJSXTAs1pDkwg5whwK0t6WwkycORDS6kuPZomq86FL/W4xU854oooUNmOXZrxr9XDEI3sKzdPTWb9M5XTTCIQV0393TulfP7hAsVeUaq2gPlOq1vymKEfTuVh+Skh7EyE5ng2mA34ZEx1RjxpSZI9YZbKo3Wij3wd8cYq72tckiHlcJuqOEai4e0MCtmc2c2wSzxXHR7pcMIkzjPYmEoENc2ajpXysKU7bt7K40GmVlrOUKfLwZE7I7LYcXGA/vb1LZ5VGM/ZHw8dsBbdc+NBaGuIKm6HLyEJlHDNYiw8bgo1pRAyEYh4sGzPpsCbPXA0Zm/KzUz7ijU1JRjzkzQPKE1VAeumYHi0K8yv+i3r4fZsyxS8s+iiJmoLOgA+bS4QFr6pLfkQ1ar1yaLZ9V06oBKY1Xywz7cUSHxQkVSZeFSeDeYMEQ3L9mWbvrq/WBL/b11RG/wjxfoVb6s+nkdvuzNoHr4/aB+N2+2CQ8dQUDrHtsal6Me82EK6gFRba37iBcG+Ls7tDELippfk2PYR277jd08zPzvGejG6gp27qY76liXDUxhz5z38pxv0eEf3J3tZl9t4p8LG/A/E5xk2An52AYAz+TyD85bFNlVFotcxOZTFjF1fsUy4DpOe4Nvc5w4Pu7lDL3g/p5UdnqkEFdKGbKmHPTG6nlg6LtWRHKT66+Fwnm2/mg9NTlwWPPiX8KkpHVKNca+CvI6E2f1/c99Lb1x8K6emZH5jq/OY79z9/X3X58WUIe8LBg7/vF59ZXI1pK2vO2ZbvoUMgxyrrjYqClhP7rT/sXWoEc/ZRifj4NhHiCtmwqUpcFVUEGhwdFh97oL29YU4Bbwk30ayHRjK9UpGW4xElV1WwJ+ULyJWiKih0fjqqsPa4j2MpWGzGA5FYzpc499m8EDd0mv+JK+mQT20lUoBmHT87DXizAvd9mjvaP5RJwc1aHvbylE1OEHnwdiye2wEnwHbW7buPu41eEgadZJ1eR4+s7Z+fbTcTsTDgc+40Oi3TYc+9XQ/wotCwejNsa3HfmcLaW0M3DQ4cbX6NztPYc3xO6sG7edZz6PehlJaariYnC5OFeCCKlWRH7HkEHHzBBNtVvT5fNECoR6Y8NovxQr1NtcRVH0bhOLHV9kmZ9SCq/f3IJ4bKBV+0HC2FDV4SvJO0KmN9VYkFU8FQQI9usONkPFKOFuPdulyS/F57kOjF++x2BeBh48bf4xr+Ilfi5l/LslKK6xj9g1Z83xYr0tibg16m/YgjV9xPtr9YnYjleBph1X6m2Ybr1PJWiU0v8qIBUFpm74+DgPCT/sD5CPod5NN4uhqV715YWFjUjIIk/NDa6r18MO3HP65JpEFe/zU85WGFdN3P3cBra2sHtIyuie/dB6gwpE7CfYcBy7GzFhss02ADXFi6YsH9TyGwRNZzwVJJluvFt1greMA+De24pJEz6i8BcqgV86mE4ZNEbgNtyPTmpkg7Yd87HaPtti4NeiiGujLsPwXIB4b7l3rwEBqd1N8zE0Pp9tsTqseUJJ+hB9GrdjfqEsb7/UY9JxQKTleZ3fvoHswfm4eh8Eo3XOuciEu636PgDZpAXo/29141cpz6u+IHP2D3PE/e2AVg/WVuitvoKybYtMRa8F0YEgSnxWbEXmc7/HG27+5nQOHWj8OA1r64GZl0BN1092VbztCPgZm7nMhbHXcgxiDP3WTHxepThJ1uu/fTKY/lMYXyH38MDN2HaLXmnAFzpt2jz6sS/crXmBKWfumtU35dCr74ewWRvVLo81/QRcr7dfuNAnaP1Vcgpj/IPdv31xHB+xc6sH47ialA3FbkAgd5JkX20Xbmm+2X9kHSecVO/FlIMjmnE9khY5+87Xa02Ol7P3v6yKGVZXa2VOC5B9GDLGzZB3UdH9Abls1d/weAKFe3QRE7esfIHFQQNltOUHPxgF31GUIkHeedXNZGCINRxsifPsP6v0tB2TTwl9A+P0FyJVmVCeJFbJ0/oJGEwYabx401lTBgkAr5rFmFl1Av6g9HNZTMp+oxz1pSxp4J8nUykc3+dsIIkCBPBHAVMt5A6SUt7BG6s6UUO1uOrc7i/VFB82wAYABXD5pnsnOWfiR6AndPpU1RQQqmuuoHr0NKWxFDl3JBdBiZU9V89s3P98SH53uC7vke+r/lfI/dy44X0ecBw7T6UzXEo2SCDZbdZG8dQDwAGXZmxa4qB+w3hELQ6FhWuTwBdxKvFoPDqgO7v7zItibdiUKL9vAnpz1rMBl0uCNAB+/ZQZ9Pml6VBpAYEe4BcZJ9Hi0dBjlt5aRMOR2CnJZqAWVtn/j/fJoPZuhyn2hpsehPSVptf0FbuycImNSb1HZvhBN+QVUTn3wsQn3emEQU3vcgZCmimVaxf6OxvWE4tYUy2gWfkAavAFnwRAzzjlxG4dHJ0bYEx0bAjVQLuYjpUbk0SlM7OJbcgkBzUPFyYr+LbjmnZ5OyF1zaopvL4qvEVzqwjTU+pHX6T58L6mreCsWj4PzQhVw2f8DUI36plrEKlvmdlII+THvtMzoi2pmV7c+GhUj8+uWYpKN/2KzP19NXVvMThfyG+66mGx9BH4HnWWCngvIKIPUum+23yeaNEAygnYF1dpyFZaD8xeGDErvLu91MJ2PRoMEtoAWRPVpzjx2PT72x3FY721zDKTxqzHJe0RL6r/6Qgd+H5zVEfM8dNyNT2RCELDWT3XhMQVX8IzwbxRRu5UW/2fBAChZaDxugr0dQbo3Xo56tB3Ter+qqF4nhsz1eaafwaTYFHEez5T7EdI+kEcnJ8dOgswugswlukqv2y6xqhrbhoQIOuBGQi20mSplUEOIDl0AJR3CDhxoWKqrDaemBAQId2Nsvrp2Kxs60Iyn0/vcF03R+QTBOzxwMf+r04kTJlKql7uRESFXPr3ZmZ04FAbdpRlrBitW4fnrGJ6DsserEpWKkMt2objdATsaNv8MC3PMkN9PvsM3IjI0xhQHGZNPXbMnYfUxBJp5yMZUwA3D7k2iS2ptqi4id1xqZERskYronlReRgzPcinrJRHIrmE/RH/+0EAx46M+jdAYLcW+2qcZFWp8WepZAUYK9Xi+w4o+zFrGQJ8a2Gn/8M4LXyCo/XjgXNBGSupIbc76HVfQVwBvt/nQLYo4fcAaoGegYaNp1zpn3aXu2EfSvWDPzszl3X3UsgxnDyW/SDmsO5mu5QBL9mBWKxAJec2nbb+iv+hCRCrf0vEbb8ezEFEbeRqNqmtVDppTSAQT+YLhQyxS35qvvTNFHeU9Ym7y0t7P1VCFYL7PO1nfWa1OS/y0H40Y1obHz7+x9CBZ+yJ4hdYjb7K/vR5QPs8mo4CgFCr/WrZ3ZR1odNrhz3oPM1ZusqHtgdWlheqqQM/yaws2iWcmFWkNgZRfI805BgR2Nsn/oDZrFRTtpbg2K5+GhlxnGB/S9mQXsP7S5nczEMoKp6rq/x5DF/nNCcgWQ1lRURoJ/f8GAnDEebnTr75wqT59J6Lqs03OHokZDw+jLR5YCvqtHNoIU/5uIzA7Ien6K5crBSxvBxDv3Sbwyc1ciFPX2En4UCJ3pPVyz/lV16th6bmsSTxlGY1Z0/FL0RhufA35tcd/o+0w2KwBxYr8VY4OnNwcjGDhIUzh7vp1oz7fbm6hQag4nY5jCaPj6TasoODpqa+Ce1WMLb/1NgzWEE4hwce9S0Z7ekCz3gpVEAZL0BBjeYC87PDhO2hovxttNxWyKwDCpZSdXh1NklpFTzrDdy2pQSvQP5VRPNA6o7/+llBgYP/2UnC3lQnoMsnCTvccxF/B51RPp5ITM/xdQLlEl6OmnRKsQ9Yu6GNIggVF4Y77iTXfvjn0PbFEkwksvZp45uj9iKOwt0UFLkhr192bp3xKiUkHgX3ox+b71aVUgSk50axct/DTkPZe5L74GmYE4OMLGti4BgLEdCvYa1WvccOuSsJzRDpCD/MHtyr9licALj912nfNuR8zhR2+75BZqZ3DPzrljhxfmuu3qBDgyjbuMLrMkJeBYzkAmAWNwVjW4x2F0bnI8wwPk3Y6N1u/sg/7P8rQB4DpihgwPPn4KEU/w+AlqGv1HgiLzJ5YZhZgsxle2LyrhCDY8tC6Kn0Ji8Xb+CH1pKh9sPFuqRAwqoS34g0V592u7v4iFwJP7Y74K8zNyJD+ZCZdXjKMrZ++6m53CEH6eIPM5XSxcvcVTgQy9EAcvgE8+xs31e0XWVL/SmgB797I3PG4O3yHF+Mn669EFN289sDo/25i0yjm7YNcevjbMwW3Dsf/DSoYzH2MYGu2DRGM2sOfIF7jov7ZC01hJzJw3wsdSiNY7QZ8Zavh41WzriqbpCPkOqKhS1uhUQUKKEhflNFFMqkanS/lmSMz64DbBWR9VjUPHPpEUD2OxpwlSaF8kVWtcORISREHySqHLR6i3tYCkmhQoVWoeUlC0Ws0n+Kx07WjYbKR8MnHm8OAW/gZ3jrufO9DffwnSmqsax0YAbrKyPbij6wNP7Rs6jfhwEySID104D7nP1v6V2V48UgAmVAMsZ3GemGU51ohVIwA/j1KUxefcwBOMjyG4pcYX6rXdF2uEQ2nU6v45bu1PJsKRRDTM+iMWU/ONcpNX/epUzWM3oimSAgFN5BVTDT4yU678EI/D0VsqgOla709b0UQ0jbX7dZRA58JfT28kw5OdU9sIo2h0am19ts42+a4dnpvV2DRx1rtFxACE9rt+vhh/u5bwn756c4mw8/kHwqHVrKgdqPBvt+uBVfAl+8GXzHAHuG3u0b4PICB3dHmBIJJn79PaHLwiyG23jm+NxUXXiZicvU23hwLZ786GX/Coc3H0Ods9abfSyUh4mgeJoO48HnRaDtJG19pFdxBbm+UpdTQGayFPZy9Eay27g/VpsW1PfmHT2npNp/aBPs5LkoemRC/PU2n/ji585KGEnwc2gzcIhSWsC4snPUI0fnWpkxZQKr37h0sdsVHH0v1dw+tFT882AMXXp1gErcSvxwT8BbBq8e2JJS8oubIxY0S2Px6iFy9hLArnL0Dmr663/bHp6fYJ088//eTrf9btC1/9Jew7kSjVd5pLEv7KVwEU680fioNuB258j/QAU85w57kT/aPsfZBoM4kkdJCTAFVK7D0PIibiNSpgd0pRYEu231uDlEEB8NyZQ1ur+xbma5VCjvUuqjLbcFYH6b013se+POjXGOjzoIcRsMvYyyAC7VJ2fDKh3Z2aRDo23eoQlro9wq/eI4f9wgH9/5+oEZuohriyJKyjx5jJyM0iIsYtIcTIyMKhFKGoxbGW/Z8Fq60wu72aqp6nADMzH+ggKEZePycLKy53aw5G9nxhJkbRJD1TDxdObkFlpM6fJC+oohGRlpPv8JACihgpyLH7+spIBonJ5Diyg7Z5MAE7ndbqOZ7+4L6F8387cP/QgsGLIQvSTlEGhiLoGmLwdZeIxgm0mwiZJJV2UAGtLWRJx6cWOpTi7mprbaCnriohyscDDGsTDljXxAyjUwmeRoJNmcgxIl2RqWZqBqq02ISgzUBEx+Wsm4uOAFJvsy2BTTRQHdS/YGVk4+TRs6wQ5mZiZuMDBgwHF5eQx3Fw/5NLUEBdQVVNTXSdloXudSN49zNuAz+jFycXlwy7pqg0Fy+HCLcoDw8PCxuwjmNlPA3qj0pYO6poGEE6pIzg82brgGnSCNTPUWYEd65hI1GQUaVEYIiBdyEJI5eyIiImlmoqqqBBBXOk01QRhzNBmsOQEzHBo0eQkxUhi++7uPTFFfl5FdRBR60Dm3bqWtpqKsZ2+oqZdkwaavxMQkzKaiwJiiwbeUW23VTU9JAVYGaTYufnZ+YSFOYTjrSPsNGxZmVk5xdiZWTkTuDh5BLmYABvYmDaw5ACujKFgWMrK2g+wEDb0NRYVBGIUxi/pIAARB2jDjZ1xiB1EAAKGxBIAatj28zIwAhRA5IDADTee6oAAHjapVTRThNBFL1bykY3gDYhJJoYR56oabfdwgsFiRXSpGmhgRKCvpChnbYL7W6zO23h2Z8w/oAPfoGf4hf4DT6YeHZ2CFSrCHbSnTN37j33zr13hoiWjAUyKP7V6KPGBln0Q+MEmcaSxjP0wuAaJyllfNJ4lp4b3zU2KZV4pfG8kU1+1niBnpqPNH5Mlvla4xSZ5lswG8mHWH1QXiJs0CJ90zhBc8YDjWfojfFM4yQtG+81nqUt44vGJi0nnmg8n3iXqGu8QGuzXzV+TIvmS41TNGdWaZt8GtAlBeRSh7okidEKNSmNuUB5jHXKKuTgz2iHBIVK18OqAU0XEg+zoAwkFYVt5PI2ZofWgKrY4YqrhD1OLfD0YUXb/uAycDtdyVaaaVbI59ezhbyTZzsidDseazRd4TVFhlW8pm39quyssWqXe6zU5C3RB1sV1IegPqYT2gWWcEtVfiiOT3a5BK5AxKmHWJtYSN5zMZdxBA8b0RzgEEKFbqtEFFXwv7NmJ6nKvifLftARrGDnWZFd+8xeefkHlilWR7AIVCl8lT4HcTm0ASQx2rAdYvbB5aozRMkfKa1VlICORBC6vscc29lgUrb5UPpd10MCR469mr5vVHdrp8wdGiri2aSxGjZaJI7oDPMF1nF9tuDnfxtv0s+51uITOjf9ZeBxDE9RNIwO1GmiyozwbUFy1UOM9sDQVz00LbfRlbEgjeoVTtg1gNpAY2gGyj7WiKsQ5SrUvobALeWdKU6hrCt45BjVkROhznvNXJtgiLI9vavsicgm/TJENcLfhZzTKb6R7DojXHks0b7CEvfGUjWRiKdIOYwQbFGtBpCF8BUqrqsc5xB5GZH+6UHITH0R2MrmeDy2++jNM35h4wJupW97JbTNOUQ8lsR2GWvsyi47EKEIRqLFoivN9nhf3LjMtmUddt0w3mv4bTnmgWAQ4FYIL4TV0GuJgMmuYI1KjdUHwouVa7FCht24kXZMpm0ZH3G3x097gqlAOCuX9hmXRasr5aCYy4XNwB3I0A7dXhRxrl5Guu6V478R3usJ/Qnn1HHgAAB42m2Px04DQRBEqzaSc845By85HpDwksHkfBjA2CO83hW2JcSVj+DAgSt/CePF3Gip9Wamuqs00BDW9xum8F89qiY06KhBH/oxgEEMYRgjGMUYxjGBSUTgqO1pzGAWc5jHAhaxhGWsYBXriMLFBjaxhW3sYBd72McBYjjEEY5xglOc4RwXuMQVrnGDW2rU8UWDJi3aLGIxS1iKT5axnBWsZBWrWcNa1rGeDXhnI5vYjA+2sJVtbGcHO9nFbvawl33s5wAHOcRhjti5tIxE1iLmhvA8YZ4k41lh7Qrv7kFoF1KLSfNYJjxhnwYZmfLTeiwp9VhGmiIVJIVxp6bNRLj5EE9lhR3/HTNelaDnxWze0JC+Oj6JIBBW6tc7ndNepO178v5ZuT4nfSuTz3HMEHpW5OxcITJQkfeq1dX0vXhCWKGpYyjBscIXJ/zGtPvH2TyjrrteYLRA9wc2/GK8AAAAAAEAAf//AA8AAAABAAAAAMw9os8AAAAAxvkyTwAAAADRt3yc",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Italic.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Bold.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Bold.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Italic.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Italic.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Script-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Script-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size1-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size1-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size2-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size2-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size3-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size3-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size4-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size4-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/fonts/KaTeX_Typewriter-Regular.woff": {
"text": "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",
"title": "$:/plugins/tiddlywiki/katex/fonts/KaTeX_Typewriter-Regular.woff",
"type": "application/font-woff"
},
"$:/plugins/tiddlywiki/katex/latex-parser.js": {
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/katex/latex-parser.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for LaTeX. For example:\n\n```\n\t$$latex-goes-here$$\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except latex-parser \n\\rules only latex-parser \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"latex-parser\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$(?!\\$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = /\\$\\$/mg;\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext,\n\t\tdisplayMode;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tdisplayMode = text.indexOf('\\n') != -1;\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tdisplayMode = false;\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"latex\",\n\t\tattributes: {\n\t\t\ttext: {\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: text\n\t\t\t},\n\t\t\tdisplayMode: {\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: displayMode ? \"true\" : \"false\"\n\t\t\t}\n\t\t}\n\t}];\n};\n\n})();\n",
"title": "$:/plugins/tiddlywiki/katex/latex-parser.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/plugins/tiddlywiki/katex/readme": {
"title": "$:/plugins/tiddlywiki/katex/readme",
"text": "This is a TiddlyWiki plugin for mathematical typesetting based on [[KaTeX from Khan Academy|http://khan.github.io/KaTeX/]].\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\nIt is currently based on KaTeX version 0.6.0. See https://github.com/Khan/KaTeX/releases for details of releases.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/katex]]\n"
},
"$:/plugins/tiddlywiki/katex/styles": {
"title": "$:/plugins/tiddlywiki/katex/styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n/* KaTeX styles */\n\n{{$:/plugins/tiddlywiki/katex/katex.min.css}}\n\n/* Force text-rendering (see https://github.com/Jermolene/TiddlyWiki5/issues/2500) */\n\n.katex {\n text-rendering: auto;\n}\n\n/* Override font URLs */\n\n@font-face {\n\tfont-family: KaTeX_AMS;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_AMS-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Caligraphic;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Bold.woff'>>) format('woff');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Caligraphic;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Fraktur;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Bold.woff'>>) format('woff');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Fraktur;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Bold.woff'>>) format('woff');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Italic.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Math;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Italic.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-family: KaTeX_SansSerif;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Script;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Script-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Size1;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size1-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Size2;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size2-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Size3;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size3-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Size4;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size4-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-family: KaTeX_Typewriter;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Typewriter-Regular.woff'>>) format('woff');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n"
},
"$:/plugins/tiddlywiki/katex/usage": {
"title": "$:/plugins/tiddlywiki/katex/usage",
"text": "The usual way to include ~LaTeX is to use `$$`. For example:\n\n```\n$$\\displaystyle f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi$$\n```\n\nSingle line equations will render in inline mode. If there are newlines between the `$$` delimiters, the equations will be rendered in display mode.\n\nThe underlying widget can also be used directly, giving more flexibility:\n\n```\n<$latex text=\"f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\" displayMode=\"true\"></$latex>\n```\n\nThe KaTeX widget is provided under the name `<$latex>` and is also available under the alias `<$katex>`. It's better to use the generic `<$latex>` name unless you are running multiple ~LaTeX plugins and wish to specifically target KaTeX.\n"
},
"$:/plugins/tiddlywiki/katex/wrapper.js": {
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/katex/wrapper.js\ntype: application/javascript\nmodule-type: widget\n\nWrapper for `katex.min.js` that provides a `<$latex>` widget. It is also available under the alias `<$katex>`\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar katex = require(\"$:/plugins/tiddlywiki/katex/katex.min.js\"),\n\tWidget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KaTeXWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKaTeXWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKaTeXWidget.prototype.render = function(parent,nextSibling) {\n\t// Housekeeping\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Get the source text\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\tvar displayMode = this.getAttribute(\"displayMode\",this.parseTreeNode.displayMode || \"false\") === \"true\";\n\t// Render it into a span\n\tvar span = this.document.createElement(\"span\"),\n\t\toptions = {throwOnError: false, displayMode: displayMode};\n\ttry {\n\t\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\t\tkatex.render(text,span,options);\n\t\t} else {\n\t\t\tspan.innerHTML = katex.renderToString(text,options);\n\t\t}\n\t} catch(ex) {\n\t\tspan.className = \"tc-error\";\n\t\tspan.textContent = ex;\n\t}\n\t// Insert it into the DOM\n\tparent.insertBefore(span,nextSibling);\n\tthis.domNodes.push(span);\n};\n\n/*\nCompute the internal state of the widget\n*/\nKaTeXWidget.prototype.execute = function() {\n\t// Nothing to do for a katex widget\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKaTeXWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.latex = KaTeXWidget;\nexports.katex = KaTeXWidget;\n\n})();\n\n",
"title": "$:/plugins/tiddlywiki/katex/wrapper.js",
"type": "application/javascript",
"module-type": "widget"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/markdown/EditorToolbar/bold": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/bold",
"list-after": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"**\"\n\tsuffix=\"**\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1",
"list-after": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2",
"list-after": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"2\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3",
"list-after": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"3\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4",
"list-after": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"4\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5",
"list-after": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"5\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6",
"list-after": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"6\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/italic": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/italic",
"list-after": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"*\"\n\tsuffix=\"*\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet",
"list-after": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-number": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/list-number",
"list-after": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"1.\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line",
"list-after": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/quote": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/quote",
"list-after": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\">\"\n\tcount=\"1\"\n/>\n"
},
"$:/config/markdown/dialect": {
"title": "$:/config/markdown/dialect",
"text": "Gruber"
},
"$:/language/Docs/Types/text/x-markdown": {
"title": "$:/language/Docs/Types/text/x-markdown",
"description": "Markdown",
"name": "text/x-markdown",
"group": "Text"
},
"$:/plugins/tiddlywiki/markdown/markdown.js": {
"text": "// Released under MIT license\n// Copyright (c) 2009-2010 Dominic Baggott\n// Copyright (c) 2009-2010 Ash Berlin\n// Copyright (c) 2011 Christoph Dorn <christoph@christophdorn.com> (http://www.christophdorn.com)\n\n/*jshint browser:true, devel:true */\n\n(function( expose ) {\n\n/**\n * class Markdown\n *\n * Markdown processing in Javascript done right. We have very particular views\n * on what constitutes 'right' which include:\n *\n * - produces well-formed HTML (this means that em and strong nesting is\n * important)\n *\n * - has an intermediate representation to allow processing of parsed data (We\n * in fact have two, both as [JsonML]: a markdown tree and an HTML tree).\n *\n * - is easily extensible to add new dialects without having to rewrite the\n * entire parsing mechanics\n *\n * - has a good test suite\n *\n * This implementation fulfills all of these (except that the test suite could\n * do with expanding to automatically run all the fixtures from other Markdown\n * implementations.)\n *\n * ##### Intermediate Representation\n *\n * *TODO* Talk about this :) Its JsonML, but document the node names we use.\n *\n * [JsonML]: http://jsonml.org/ \"JSON Markup Language\"\n **/\nvar Markdown = expose.Markdown = function(dialect) {\n switch (typeof dialect) {\n case \"undefined\":\n this.dialect = Markdown.dialects.Gruber;\n break;\n case \"object\":\n this.dialect = dialect;\n break;\n default:\n if ( dialect in Markdown.dialects ) {\n this.dialect = Markdown.dialects[dialect];\n }\n else {\n throw new Error(\"Unknown Markdown dialect '\" + String(dialect) + \"'\");\n }\n break;\n }\n this.em_state = [];\n this.strong_state = [];\n this.debug_indent = \"\";\n};\n\n/**\n * parse( markdown, [dialect] ) -> JsonML\n * - markdown (String): markdown string to parse\n * - dialect (String | Dialect): the dialect to use, defaults to gruber\n *\n * Parse `markdown` and return a markdown document as a Markdown.JsonML tree.\n **/\nexpose.parse = function( source, dialect ) {\n // dialect will default if undefined\n var md = new Markdown( dialect );\n return md.toTree( source );\n};\n\n/**\n * toHTML( markdown, [dialect] ) -> String\n * toHTML( md_tree ) -> String\n * - markdown (String): markdown string to parse\n * - md_tree (Markdown.JsonML): parsed markdown tree\n *\n * Take markdown (either as a string or as a JsonML tree) and run it through\n * [[toHTMLTree]] then turn it into a well-formated HTML fragment.\n **/\nexpose.toHTML = function toHTML( source , dialect , options ) {\n var input = expose.toHTMLTree( source , dialect , options );\n\n return expose.renderJsonML( input );\n};\n\n/**\n * toHTMLTree( markdown, [dialect] ) -> JsonML\n * toHTMLTree( md_tree ) -> JsonML\n * - markdown (String): markdown string to parse\n * - dialect (String | Dialect): the dialect to use, defaults to gruber\n * - md_tree (Markdown.JsonML): parsed markdown tree\n *\n * Turn markdown into HTML, represented as a JsonML tree. If a string is given\n * to this function, it is first parsed into a markdown tree by calling\n * [[parse]].\n **/\nexpose.toHTMLTree = function toHTMLTree( input, dialect , options ) {\n // convert string input to an MD tree\n if ( typeof input ===\"string\" ) input = this.parse( input, dialect );\n\n // Now convert the MD tree to an HTML tree\n\n // remove references from the tree\n var attrs = extract_attr( input ),\n refs = {};\n\n if ( attrs && attrs.references ) {\n refs = attrs.references;\n }\n\n var html = convert_tree_to_html( input, refs , options );\n merge_text_nodes( html );\n return html;\n};\n\n// For Spidermonkey based engines\nfunction mk_block_toSource() {\n return \"Markdown.mk_block( \" +\n uneval(this.toString()) +\n \", \" +\n uneval(this.trailing) +\n \", \" +\n uneval(this.lineNumber) +\n \" )\";\n}\n\n// node\nfunction mk_block_inspect() {\n var util = require(\"util\");\n return \"Markdown.mk_block( \" +\n util.inspect(this.toString()) +\n \", \" +\n util.inspect(this.trailing) +\n \", \" +\n util.inspect(this.lineNumber) +\n \" )\";\n\n}\n\nvar mk_block = Markdown.mk_block = function(block, trail, line) {\n // Be helpful for default case in tests.\n if ( arguments.length == 1 ) trail = \"\\n\\n\";\n\n var s = new String(block);\n s.trailing = trail;\n // To make it clear its not just a string\n s.inspect = mk_block_inspect;\n s.toSource = mk_block_toSource;\n\n if ( line != undefined )\n s.lineNumber = line;\n\n return s;\n};\n\nfunction count_lines( str ) {\n var n = 0, i = -1;\n while ( ( i = str.indexOf(\"\\n\", i + 1) ) !== -1 ) n++;\n return n;\n}\n\n// Internal - split source into rough blocks\nMarkdown.prototype.split_blocks = function splitBlocks( input, startLine ) {\n input = input.replace(/(\\r\\n|\\n|\\r)/g, \"\\n\");\n // [\\s\\S] matches _anything_ (newline or space)\n // [^] is equivalent but doesn't work in IEs.\n var re = /([\\s\\S]+?)($|\\n#|\\n(?:\\s*\\n|$)+)/g,\n blocks = [],\n m;\n\n var line_no = 1;\n\n if ( ( m = /^(\\s*\\n)/.exec(input) ) != null ) {\n // skip (but count) leading blank lines\n line_no += count_lines( m[0] );\n re.lastIndex = m[0].length;\n }\n\n while ( ( m = re.exec(input) ) !== null ) {\n if (m[2] == \"\\n#\") {\n m[2] = \"\\n\";\n re.lastIndex--;\n }\n blocks.push( mk_block( m[1], m[2], line_no ) );\n line_no += count_lines( m[0] );\n }\n\n return blocks;\n};\n\n/**\n * Markdown#processBlock( block, next ) -> undefined | [ JsonML, ... ]\n * - block (String): the block to process\n * - next (Array): the following blocks\n *\n * Process `block` and return an array of JsonML nodes representing `block`.\n *\n * It does this by asking each block level function in the dialect to process\n * the block until one can. Succesful handling is indicated by returning an\n * array (with zero or more JsonML nodes), failure by a false value.\n *\n * Blocks handlers are responsible for calling [[Markdown#processInline]]\n * themselves as appropriate.\n *\n * If the blocks were split incorrectly or adjacent blocks need collapsing you\n * can adjust `next` in place using shift/splice etc.\n *\n * If any of this default behaviour is not right for the dialect, you can\n * define a `__call__` method on the dialect that will get invoked to handle\n * the block processing.\n */\nMarkdown.prototype.processBlock = function processBlock( block, next ) {\n var cbs = this.dialect.block,\n ord = cbs.__order__;\n\n if ( \"__call__\" in cbs ) {\n return cbs.__call__.call(this, block, next);\n }\n\n for ( var i = 0; i < ord.length; i++ ) {\n //D:this.debug( \"Testing\", ord[i] );\n var res = cbs[ ord[i] ].call( this, block, next );\n if ( res ) {\n //D:this.debug(\" matched\");\n if ( !isArray(res) || ( res.length > 0 && !( isArray(res[0]) ) ) )\n this.debug(ord[i], \"didn't return a proper array\");\n //D:this.debug( \"\" );\n return res;\n }\n }\n\n // Uhoh! no match! Should we throw an error?\n return [];\n};\n\nMarkdown.prototype.processInline = function processInline( block ) {\n return this.dialect.inline.__call__.call( this, String( block ) );\n};\n\n/**\n * Markdown#toTree( source ) -> JsonML\n * - source (String): markdown source to parse\n *\n * Parse `source` into a JsonML tree representing the markdown document.\n **/\n// custom_tree means set this.tree to `custom_tree` and restore old value on return\nMarkdown.prototype.toTree = function toTree( source, custom_root ) {\n var blocks = source instanceof Array ? source : this.split_blocks( source );\n\n // Make tree a member variable so its easier to mess with in extensions\n var old_tree = this.tree;\n try {\n this.tree = custom_root || this.tree || [ \"markdown\" ];\n\n blocks:\n while ( blocks.length ) {\n var b = this.processBlock( blocks.shift(), blocks );\n\n // Reference blocks and the like won't return any content\n if ( !b.length ) continue blocks;\n\n this.tree.push.apply( this.tree, b );\n }\n return this.tree;\n }\n finally {\n if ( custom_root ) {\n this.tree = old_tree;\n }\n }\n};\n\n// Noop by default\nMarkdown.prototype.debug = function () {\n var args = Array.prototype.slice.call( arguments);\n args.unshift(this.debug_indent);\n if ( typeof print !== \"undefined\" )\n print.apply( print, args );\n if ( typeof console !== \"undefined\" && typeof console.log !== \"undefined\" )\n console.log.apply( null, args );\n}\n\nMarkdown.prototype.loop_re_over_block = function( re, block, cb ) {\n // Dont use /g regexps with this\n var m,\n b = block.valueOf();\n\n while ( b.length && (m = re.exec(b) ) != null ) {\n b = b.substr( m[0].length );\n cb.call(this, m);\n }\n return b;\n};\n\n/**\n * Markdown.dialects\n *\n * Namespace of built-in dialects.\n **/\nMarkdown.dialects = {};\n\n/**\n * Markdown.dialects.Gruber\n *\n * The default dialect that follows the rules set out by John Gruber's\n * markdown.pl as closely as possible. Well actually we follow the behaviour of\n * that script which in some places is not exactly what the syntax web page\n * says.\n **/\nMarkdown.dialects.Gruber = {\n block: {\n atxHeader: function atxHeader( block, next ) {\n var m = block.match( /^(#{1,6})\\s*(.*?)\\s*#*\\s*(?:\\n|$)/ );\n\n if ( !m ) return undefined;\n\n var header = [ \"header\", { level: m[ 1 ].length } ];\n Array.prototype.push.apply(header, this.processInline(m[ 2 ]));\n\n if ( m[0].length < block.length )\n next.unshift( mk_block( block.substr( m[0].length ), block.trailing, block.lineNumber + 2 ) );\n\n return [ header ];\n },\n\n setextHeader: function setextHeader( block, next ) {\n var m = block.match( /^(.*)\\n([-=])\\2\\2+(?:\\n|$)/ );\n\n if ( !m ) return undefined;\n\n var level = ( m[ 2 ] === \"=\" ) ? 1 : 2;\n var header = [ \"header\", { level : level }, m[ 1 ] ];\n\n if ( m[0].length < block.length )\n next.unshift( mk_block( block.substr( m[0].length ), block.trailing, block.lineNumber + 2 ) );\n\n return [ header ];\n },\n\n code: function code( block, next ) {\n // | Foo\n // |bar\n // should be a code block followed by a paragraph. Fun\n //\n // There might also be adjacent code block to merge.\n\n var ret = [],\n re = /^(?: {0,3}\\t| {4})(.*)\\n?/,\n lines;\n\n // 4 spaces + content\n if ( !block.match( re ) ) return undefined;\n\n block_search:\n do {\n // Now pull out the rest of the lines\n var b = this.loop_re_over_block(\n re, block.valueOf(), function( m ) { ret.push( m[1] ); } );\n\n if ( b.length ) {\n // Case alluded to in first comment. push it back on as a new block\n next.unshift( mk_block(b, block.trailing) );\n break block_search;\n }\n else if ( next.length ) {\n // Check the next block - it might be code too\n if ( !next[0].match( re ) ) break block_search;\n\n // Pull how how many blanks lines follow - minus two to account for .join\n ret.push ( block.trailing.replace(/[^\\n]/g, \"\").substring(2) );\n\n block = next.shift();\n }\n else {\n break block_search;\n }\n } while ( true );\n\n return [ [ \"code_block\", ret.join(\"\\n\") ] ];\n },\n\n horizRule: function horizRule( block, next ) {\n // this needs to find any hr in the block to handle abutting blocks\n var m = block.match( /^(?:([\\s\\S]*?)\\n)?[ \\t]*([-_*])(?:[ \\t]*\\2){2,}[ \\t]*(?:\\n([\\s\\S]*))?$/ );\n\n if ( !m ) {\n return undefined;\n }\n\n var jsonml = [ [ \"hr\" ] ];\n\n // if there's a leading abutting block, process it\n if ( m[ 1 ] ) {\n jsonml.unshift.apply( jsonml, this.processBlock( m[ 1 ], [] ) );\n }\n\n // if there's a trailing abutting block, stick it into next\n if ( m[ 3 ] ) {\n next.unshift( mk_block( m[ 3 ] ) );\n }\n\n return jsonml;\n },\n\n // There are two types of lists. Tight and loose. Tight lists have no whitespace\n // between the items (and result in text just in the <li>) and loose lists,\n // which have an empty line between list items, resulting in (one or more)\n // paragraphs inside the <li>.\n //\n // There are all sorts weird edge cases about the original markdown.pl's\n // handling of lists:\n //\n // * Nested lists are supposed to be indented by four chars per level. But\n // if they aren't, you can get a nested list by indenting by less than\n // four so long as the indent doesn't match an indent of an existing list\n // item in the 'nest stack'.\n //\n // * The type of the list (bullet or number) is controlled just by the\n // first item at the indent. Subsequent changes are ignored unless they\n // are for nested lists\n //\n lists: (function( ) {\n // Use a closure to hide a few variables.\n var any_list = \"[*+-]|\\\\d+\\\\.\",\n bullet_list = /[*+-]/,\n number_list = /\\d+\\./,\n // Capture leading indent as it matters for determining nested lists.\n is_list_re = new RegExp( \"^( {0,3})(\" + any_list + \")[ \\t]+\" ),\n indent_re = \"(?: {0,3}\\\\t| {4})\";\n\n // TODO: Cache this regexp for certain depths.\n // Create a regexp suitable for matching an li for a given stack depth\n function regex_for_depth( depth ) {\n\n return new RegExp(\n // m[1] = indent, m[2] = list_type\n \"(?:^(\" + indent_re + \"{0,\" + depth + \"} {0,3})(\" + any_list + \")\\\\s+)|\" +\n // m[3] = cont\n \"(^\" + indent_re + \"{0,\" + (depth-1) + \"}[ ]{0,4})\"\n );\n }\n function expand_tab( input ) {\n return input.replace( / {0,3}\\t/g, \" \" );\n }\n\n // Add inline content `inline` to `li`. inline comes from processInline\n // so is an array of content\n function add(li, loose, inline, nl) {\n if ( loose ) {\n li.push( [ \"para\" ].concat(inline) );\n return;\n }\n // Hmmm, should this be any block level element or just paras?\n var add_to = li[li.length -1] instanceof Array && li[li.length - 1][0] == \"para\"\n ? li[li.length -1]\n : li;\n\n // If there is already some content in this list, add the new line in\n if ( nl && li.length > 1 ) inline.unshift(nl);\n\n for ( var i = 0; i < inline.length; i++ ) {\n var what = inline[i],\n is_str = typeof what == \"string\";\n if ( is_str && add_to.length > 1 && typeof add_to[add_to.length-1] == \"string\" ) {\n add_to[ add_to.length-1 ] += what;\n }\n else {\n add_to.push( what );\n }\n }\n }\n\n // contained means have an indent greater than the current one. On\n // *every* line in the block\n function get_contained_blocks( depth, blocks ) {\n\n var re = new RegExp( \"^(\" + indent_re + \"{\" + depth + \"}.*?\\\\n?)*$\" ),\n replace = new RegExp(\"^\" + indent_re + \"{\" + depth + \"}\", \"gm\"),\n ret = [];\n\n while ( blocks.length > 0 ) {\n if ( re.exec( blocks[0] ) ) {\n var b = blocks.shift(),\n // Now remove that indent\n x = b.replace( replace, \"\");\n\n ret.push( mk_block( x, b.trailing, b.lineNumber ) );\n }\n else {\n break;\n }\n }\n return ret;\n }\n\n // passed to stack.forEach to turn list items up the stack into paras\n function paragraphify(s, i, stack) {\n var list = s.list;\n var last_li = list[list.length-1];\n\n if ( last_li[1] instanceof Array && last_li[1][0] == \"para\" ) {\n return;\n }\n if ( i + 1 == stack.length ) {\n // Last stack frame\n // Keep the same array, but replace the contents\n last_li.push( [\"para\"].concat( last_li.splice(1, last_li.length - 1) ) );\n }\n else {\n var sublist = last_li.pop();\n last_li.push( [\"para\"].concat( last_li.splice(1, last_li.length - 1) ), sublist );\n }\n }\n\n // The matcher function\n return function( block, next ) {\n var m = block.match( is_list_re );\n if ( !m ) return undefined;\n\n function make_list( m ) {\n var list = bullet_list.exec( m[2] )\n ? [\"bulletlist\"]\n : [\"numberlist\"];\n\n stack.push( { list: list, indent: m[1] } );\n return list;\n }\n\n\n var stack = [], // Stack of lists for nesting.\n list = make_list( m ),\n last_li,\n loose = false,\n ret = [ stack[0].list ],\n i;\n\n // Loop to search over block looking for inner block elements and loose lists\n loose_search:\n while ( true ) {\n // Split into lines preserving new lines at end of line\n var lines = block.split( /(?=\\n)/ );\n\n // We have to grab all lines for a li and call processInline on them\n // once as there are some inline things that can span lines.\n var li_accumulate = \"\";\n\n // Loop over the lines in this block looking for tight lists.\n tight_search:\n for ( var line_no = 0; line_no < lines.length; line_no++ ) {\n var nl = \"\",\n l = lines[line_no].replace(/^\\n/, function(n) { nl = n; return \"\"; });\n\n // TODO: really should cache this\n var line_re = regex_for_depth( stack.length );\n\n m = l.match( line_re );\n //print( \"line:\", uneval(l), \"\\nline match:\", uneval(m) );\n\n // We have a list item\n if ( m[1] !== undefined ) {\n // Process the previous list item, if any\n if ( li_accumulate.length ) {\n add( last_li, loose, this.processInline( li_accumulate ), nl );\n // Loose mode will have been dealt with. Reset it\n loose = false;\n li_accumulate = \"\";\n }\n\n m[1] = expand_tab( m[1] );\n var wanted_depth = Math.floor(m[1].length/4)+1;\n //print( \"want:\", wanted_depth, \"stack:\", stack.length);\n if ( wanted_depth > stack.length ) {\n // Deep enough for a nested list outright\n //print ( \"new nested list\" );\n list = make_list( m );\n last_li.push( list );\n last_li = list[1] = [ \"listitem\" ];\n }\n else {\n // We aren't deep enough to be strictly a new level. This is\n // where Md.pl goes nuts. If the indent matches a level in the\n // stack, put it there, else put it one deeper then the\n // wanted_depth deserves.\n var found = false;\n for ( i = 0; i < stack.length; i++ ) {\n if ( stack[ i ].indent != m[1] ) continue;\n list = stack[ i ].list;\n stack.splice( i+1, stack.length - (i+1) );\n found = true;\n break;\n }\n\n if (!found) {\n //print(\"not found. l:\", uneval(l));\n wanted_depth++;\n if ( wanted_depth <= stack.length ) {\n stack.splice(wanted_depth, stack.length - wanted_depth);\n //print(\"Desired depth now\", wanted_depth, \"stack:\", stack.length);\n list = stack[wanted_depth-1].list;\n //print(\"list:\", uneval(list) );\n }\n else {\n //print (\"made new stack for messy indent\");\n list = make_list(m);\n last_li.push(list);\n }\n }\n\n //print( uneval(list), \"last\", list === stack[stack.length-1].list );\n last_li = [ \"listitem\" ];\n list.push(last_li);\n } // end depth of shenegains\n nl = \"\";\n }\n\n // Add content\n if ( l.length > m[0].length ) {\n li_accumulate += nl + l.substr( m[0].length );\n }\n } // tight_search\n\n if ( li_accumulate.length ) {\n add( last_li, loose, this.processInline( li_accumulate ), nl );\n // Loose mode will have been dealt with. Reset it\n loose = false;\n li_accumulate = \"\";\n }\n\n // Look at the next block - we might have a loose list. Or an extra\n // paragraph for the current li\n var contained = get_contained_blocks( stack.length, next );\n\n // Deal with code blocks or properly nested lists\n if ( contained.length > 0 ) {\n // Make sure all listitems up the stack are paragraphs\n forEach( stack, paragraphify, this);\n\n last_li.push.apply( last_li, this.toTree( contained, [] ) );\n }\n\n var next_block = next[0] && next[0].valueOf() || \"\";\n\n if ( next_block.match(is_list_re) || next_block.match( /^ / ) ) {\n block = next.shift();\n\n // Check for an HR following a list: features/lists/hr_abutting\n var hr = this.dialect.block.horizRule( block, next );\n\n if ( hr ) {\n ret.push.apply(ret, hr);\n break;\n }\n\n // Make sure all listitems up the stack are paragraphs\n forEach( stack, paragraphify, this);\n\n loose = true;\n continue loose_search;\n }\n break;\n } // loose_search\n\n return ret;\n };\n })(),\n\n blockquote: function blockquote( block, next ) {\n if ( !block.match( /^>/m ) )\n return undefined;\n\n var jsonml = [];\n\n // separate out the leading abutting block, if any. I.e. in this case:\n //\n // a\n // > b\n //\n if ( block[ 0 ] != \">\" ) {\n var lines = block.split( /\\n/ ),\n prev = [],\n line_no = block.lineNumber;\n\n // keep shifting lines until you find a crotchet\n while ( lines.length && lines[ 0 ][ 0 ] != \">\" ) {\n prev.push( lines.shift() );\n line_no++;\n }\n\n var abutting = mk_block( prev.join( \"\\n\" ), \"\\n\", block.lineNumber );\n jsonml.push.apply( jsonml, this.processBlock( abutting, [] ) );\n // reassemble new block of just block quotes!\n block = mk_block( lines.join( \"\\n\" ), block.trailing, line_no );\n }\n\n\n // if the next block is also a blockquote merge it in\n while ( next.length && next[ 0 ][ 0 ] == \">\" ) {\n var b = next.shift();\n block = mk_block( block + block.trailing + b, b.trailing, block.lineNumber );\n }\n\n // Strip off the leading \"> \" and re-process as a block.\n var input = block.replace( /^> ?/gm, \"\" ),\n old_tree = this.tree,\n processedBlock = this.toTree( input, [ \"blockquote\" ] ),\n attr = extract_attr( processedBlock );\n\n // If any link references were found get rid of them\n if ( attr && attr.references ) {\n delete attr.references;\n // And then remove the attribute object if it's empty\n if ( isEmpty( attr ) ) {\n processedBlock.splice( 1, 1 );\n }\n }\n\n jsonml.push( processedBlock );\n return jsonml;\n },\n\n referenceDefn: function referenceDefn( block, next) {\n var re = /^\\s*\\[(.*?)\\]:\\s*(\\S+)(?:\\s+(?:(['\"])(.*?)\\3|\\((.*?)\\)))?\\n?/;\n // interesting matches are [ , ref_id, url, , title, title ]\n\n if ( !block.match(re) )\n return undefined;\n\n // make an attribute node if it doesn't exist\n if ( !extract_attr( this.tree ) ) {\n this.tree.splice( 1, 0, {} );\n }\n\n var attrs = extract_attr( this.tree );\n\n // make a references hash if it doesn't exist\n if ( attrs.references === undefined ) {\n attrs.references = {};\n }\n\n var b = this.loop_re_over_block(re, block, function( m ) {\n\n if ( m[2] && m[2][0] == \"<\" && m[2][m[2].length-1] == \">\" )\n m[2] = m[2].substring( 1, m[2].length - 1 );\n\n var ref = attrs.references[ m[1].toLowerCase() ] = {\n href: m[2]\n };\n\n if ( m[4] !== undefined )\n ref.title = m[4];\n else if ( m[5] !== undefined )\n ref.title = m[5];\n\n } );\n\n if ( b.length )\n next.unshift( mk_block( b, block.trailing ) );\n\n return [];\n },\n\n para: function para( block, next ) {\n // everything's a para!\n return [ [\"para\"].concat( this.processInline( block ) ) ];\n }\n }\n};\n\nMarkdown.dialects.Gruber.inline = {\n\n __oneElement__: function oneElement( text, patterns_or_re, previous_nodes ) {\n var m,\n res,\n lastIndex = 0;\n\n patterns_or_re = patterns_or_re || this.dialect.inline.__patterns__;\n var re = new RegExp( \"([\\\\s\\\\S]*?)(\" + (patterns_or_re.source || patterns_or_re) + \")\" );\n\n m = re.exec( text );\n if (!m) {\n // Just boring text\n return [ text.length, text ];\n }\n else if ( m[1] ) {\n // Some un-interesting text matched. Return that first\n return [ m[1].length, m[1] ];\n }\n\n var res;\n if ( m[2] in this.dialect.inline ) {\n res = this.dialect.inline[ m[2] ].call(\n this,\n text.substr( m.index ), m, previous_nodes || [] );\n }\n // Default for now to make dev easier. just slurp special and output it.\n res = res || [ m[2].length, m[2] ];\n return res;\n },\n\n __call__: function inline( text, patterns ) {\n\n var out = [],\n res;\n\n function add(x) {\n //D:self.debug(\" adding output\", uneval(x));\n if ( typeof x == \"string\" && typeof out[out.length-1] == \"string\" )\n out[ out.length-1 ] += x;\n else\n out.push(x);\n }\n\n while ( text.length > 0 ) {\n res = this.dialect.inline.__oneElement__.call(this, text, patterns, out );\n text = text.substr( res.shift() );\n forEach(res, add )\n }\n\n return out;\n },\n\n // These characters are intersting elsewhere, so have rules for them so that\n // chunks of plain text blocks don't include them\n \"]\": function () {},\n \"}\": function () {},\n\n __escape__ : /^\\\\[\\\\`\\*_{}\\[\\]()#\\+.!\\-]/,\n\n \"\\\\\": function escaped( text ) {\n // [ length of input processed, node/children to add... ]\n // Only esacape: \\ ` * _ { } [ ] ( ) # * + - . !\n if ( this.dialect.inline.__escape__.exec( text ) )\n return [ 2, text.charAt( 1 ) ];\n else\n // Not an esacpe\n return [ 1, \"\\\\\" ];\n },\n\n \"\n // 1 2 3 4 <--- captures\n var m = text.match( /^!\\[(.*?)\\][ \\t]*\\([ \\t]*([^\")]*?)(?:[ \\t]+([\"'])(.*?)\\3)?[ \\t]*\\)/ );\n\n if ( m ) {\n if ( m[2] && m[2][0] == \"<\" && m[2][m[2].length-1] == \">\" )\n m[2] = m[2].substring( 1, m[2].length - 1 );\n\n m[2] = this.dialect.inline.__call__.call( this, m[2], /\\\\/ )[0];\n\n var attrs = { alt: m[1], href: m[2] || \"\" };\n if ( m[4] !== undefined)\n attrs.title = m[4];\n\n return [ m[0].length, [ \"img\", attrs ] ];\n }\n\n // ![Alt text][id]\n m = text.match( /^!\\[(.*?)\\][ \\t]*\\[(.*?)\\]/ );\n\n if ( m ) {\n // We can't check if the reference is known here as it likely wont be\n // found till after. Check it in md tree->hmtl tree conversion\n return [ m[0].length, [ \"img_ref\", { alt: m[1], ref: m[2].toLowerCase(), original: m[0] } ] ];\n }\n\n // Just consume the '!['\n return [ 2, \"![\" ];\n },\n\n \"[\": function link( text ) {\n\n var orig = String(text);\n // Inline content is possible inside `link text`\n var res = Markdown.DialectHelpers.inline_until_char.call( this, text.substr(1), \"]\" );\n\n // No closing ']' found. Just consume the [\n if ( !res ) return [ 1, \"[\" ];\n\n var consumed = 1 + res[ 0 ],\n children = res[ 1 ],\n link,\n attrs;\n\n // At this point the first [...] has been parsed. See what follows to find\n // out which kind of link we are (reference or direct url)\n text = text.substr( consumed );\n\n // [link text](/path/to/img.jpg \"Optional title\")\n // 1 2 3 <--- captures\n // This will capture up to the last paren in the block. We then pull\n // back based on if there a matching ones in the url\n // ([here](/url/(test))\n // The parens have to be balanced\n var m = text.match( /^\\s*\\([ \\t]*([^\"']*)(?:[ \\t]+([\"'])(.*?)\\2)?[ \\t]*\\)/ );\n if ( m ) {\n var url = m[1];\n consumed += m[0].length;\n\n if ( url && url[0] == \"<\" && url[url.length-1] == \">\" )\n url = url.substring( 1, url.length - 1 );\n\n // If there is a title we don't have to worry about parens in the url\n if ( !m[3] ) {\n var open_parens = 1; // One open that isn't in the capture\n for ( var len = 0; len < url.length; len++ ) {\n switch ( url[len] ) {\n case \"(\":\n open_parens++;\n break;\n case \")\":\n if ( --open_parens == 0) {\n consumed -= url.length - len;\n url = url.substring(0, len);\n }\n break;\n }\n }\n }\n\n // Process escapes only\n url = this.dialect.inline.__call__.call( this, url, /\\\\/ )[0];\n\n attrs = { href: url || \"\" };\n if ( m[3] !== undefined)\n attrs.title = m[3];\n\n link = [ \"link\", attrs ].concat( children );\n return [ consumed, link ];\n }\n\n // [Alt text][id]\n // [Alt text] [id]\n m = text.match( /^\\s*\\[(.*?)\\]/ );\n\n if ( m ) {\n\n consumed += m[ 0 ].length;\n\n // [links][] uses links as its reference\n attrs = { ref: ( m[ 1 ] || String(children) ).toLowerCase(), original: orig.substr( 0, consumed ) };\n\n link = [ \"link_ref\", attrs ].concat( children );\n\n // We can't check if the reference is known here as it likely wont be\n // found till after. Check it in md tree->hmtl tree conversion.\n // Store the original so that conversion can revert if the ref isn't found.\n return [ consumed, link ];\n }\n\n // [id]\n // Only if id is plain (no formatting.)\n if ( children.length == 1 && typeof children[0] == \"string\" ) {\n\n attrs = { ref: children[0].toLowerCase(), original: orig.substr( 0, consumed ) };\n link = [ \"link_ref\", attrs, children[0] ];\n return [ consumed, link ];\n }\n\n // Just consume the \"[\"\n return [ 1, \"[\" ];\n },\n\n\n \"<\": function autoLink( text ) {\n var m;\n\n if ( ( m = text.match( /^<(?:((https?|ftp|mailto):[^>]+)|(.*?@.*?\\.[a-zA-Z]+))>/ ) ) != null ) {\n if ( m[3] ) {\n return [ m[0].length, [ \"link\", { href: \"mailto:\" + m[3] }, m[3] ] ];\n\n }\n else if ( m[2] == \"mailto\" ) {\n return [ m[0].length, [ \"link\", { href: m[1] }, m[1].substr(\"mailto:\".length ) ] ];\n }\n else\n return [ m[0].length, [ \"link\", { href: m[1] }, m[1] ] ];\n }\n\n return [ 1, \"<\" ];\n },\n\n \"`\": function inlineCode( text ) {\n // Inline code block. as many backticks as you like to start it\n // Always skip over the opening ticks.\n var m = text.match( /(`+)(([\\s\\S]*?)\\1)/ );\n\n if ( m && m[2] )\n return [ m[1].length + m[2].length, [ \"inlinecode\", m[3] ] ];\n else {\n // TODO: No matching end code found - warn!\n return [ 1, \"`\" ];\n }\n },\n\n \" \\n\": function lineBreak( text ) {\n return [ 3, [ \"linebreak\" ] ];\n }\n\n};\n\n// Meta Helper/generator method for em and strong handling\nfunction strong_em( tag, md ) {\n\n var state_slot = tag + \"_state\",\n other_slot = tag == \"strong\" ? \"em_state\" : \"strong_state\";\n\n function CloseTag(len) {\n this.len_after = len;\n this.name = \"close_\" + md;\n }\n\n return function ( text, orig_match ) {\n\n if ( this[state_slot][0] == md ) {\n // Most recent em is of this type\n //D:this.debug(\"closing\", md);\n this[state_slot].shift();\n\n // \"Consume\" everything to go back to the recrusion in the else-block below\n return[ text.length, new CloseTag(text.length-md.length) ];\n }\n else {\n // Store a clone of the em/strong states\n var other = this[other_slot].slice(),\n state = this[state_slot].slice();\n\n this[state_slot].unshift(md);\n\n //D:this.debug_indent += \" \";\n\n // Recurse\n var res = this.processInline( text.substr( md.length ) );\n //D:this.debug_indent = this.debug_indent.substr(2);\n\n var last = res[res.length - 1];\n\n //D:this.debug(\"processInline from\", tag + \": \", uneval( res ) );\n\n var check = this[state_slot].shift();\n if ( last instanceof CloseTag ) {\n res.pop();\n // We matched! Huzzah.\n var consumed = text.length - last.len_after;\n return [ consumed, [ tag ].concat(res) ];\n }\n else {\n // Restore the state of the other kind. We might have mistakenly closed it.\n this[other_slot] = other;\n this[state_slot] = state;\n\n // We can't reuse the processed result as it could have wrong parsing contexts in it.\n return [ md.length, md ];\n }\n }\n }; // End returned function\n}\n\nMarkdown.dialects.Gruber.inline[\"**\"] = strong_em(\"strong\", \"**\");\nMarkdown.dialects.Gruber.inline[\"__\"] = strong_em(\"strong\", \"__\");\nMarkdown.dialects.Gruber.inline[\"*\"] = strong_em(\"em\", \"*\");\nMarkdown.dialects.Gruber.inline[\"_\"] = strong_em(\"em\", \"_\");\n\n\n// Build default order from insertion order.\nMarkdown.buildBlockOrder = function(d) {\n var ord = [];\n for ( var i in d ) {\n if ( i == \"__order__\" || i == \"__call__\" ) continue;\n ord.push( i );\n }\n d.__order__ = ord;\n};\n\n// Build patterns for inline matcher\nMarkdown.buildInlinePatterns = function(d) {\n var patterns = [];\n\n for ( var i in d ) {\n // __foo__ is reserved and not a pattern\n if ( i.match( /^__.*__$/) ) continue;\n var l = i.replace( /([\\\\.*+?|()\\[\\]{}])/g, \"\\\\$1\" )\n .replace( /\\n/, \"\\\\n\" );\n patterns.push( i.length == 1 ? l : \"(?:\" + l + \")\" );\n }\n\n patterns = patterns.join(\"|\");\n d.__patterns__ = patterns;\n //print(\"patterns:\", uneval( patterns ) );\n\n var fn = d.__call__;\n d.__call__ = function(text, pattern) {\n if ( pattern != undefined ) {\n return fn.call(this, text, pattern);\n }\n else\n {\n return fn.call(this, text, patterns);\n }\n };\n};\n\nMarkdown.DialectHelpers = {};\nMarkdown.DialectHelpers.inline_until_char = function( text, want ) {\n var consumed = 0,\n nodes = [];\n\n while ( true ) {\n if ( text.charAt( consumed ) == want ) {\n // Found the character we were looking for\n consumed++;\n return [ consumed, nodes ];\n }\n\n if ( consumed >= text.length ) {\n // No closing char found. Abort.\n return null;\n }\n\n var res = this.dialect.inline.__oneElement__.call(this, text.substr( consumed ) );\n consumed += res[ 0 ];\n // Add any returned nodes.\n nodes.push.apply( nodes, res.slice( 1 ) );\n }\n}\n\n// Helper function to make sub-classing a dialect easier\nMarkdown.subclassDialect = function( d ) {\n function Block() {}\n Block.prototype = d.block;\n function Inline() {}\n Inline.prototype = d.inline;\n\n return { block: new Block(), inline: new Inline() };\n};\n\nMarkdown.buildBlockOrder ( Markdown.dialects.Gruber.block );\nMarkdown.buildInlinePatterns( Markdown.dialects.Gruber.inline );\n\nMarkdown.dialects.Maruku = Markdown.subclassDialect( Markdown.dialects.Gruber );\n\nMarkdown.dialects.Maruku.processMetaHash = function processMetaHash( meta_string ) {\n var meta = split_meta_hash( meta_string ),\n attr = {};\n\n for ( var i = 0; i < meta.length; ++i ) {\n // id: #foo\n if ( /^#/.test( meta[ i ] ) ) {\n attr.id = meta[ i ].substring( 1 );\n }\n // class: .foo\n else if ( /^\\./.test( meta[ i ] ) ) {\n // if class already exists, append the new one\n if ( attr[\"class\"] ) {\n attr[\"class\"] = attr[\"class\"] + meta[ i ].replace( /./, \" \" );\n }\n else {\n attr[\"class\"] = meta[ i ].substring( 1 );\n }\n }\n // attribute: foo=bar\n else if ( /\\=/.test( meta[ i ] ) ) {\n var s = meta[ i ].split( /\\=/ );\n attr[ s[ 0 ] ] = s[ 1 ];\n }\n }\n\n return attr;\n}\n\nfunction split_meta_hash( meta_string ) {\n var meta = meta_string.split( \"\" ),\n parts = [ \"\" ],\n in_quotes = false;\n\n while ( meta.length ) {\n var letter = meta.shift();\n switch ( letter ) {\n case \" \" :\n // if we're in a quoted section, keep it\n if ( in_quotes ) {\n parts[ parts.length - 1 ] += letter;\n }\n // otherwise make a new part\n else {\n parts.push( \"\" );\n }\n break;\n case \"'\" :\n case '\"' :\n // reverse the quotes and move straight on\n in_quotes = !in_quotes;\n break;\n case \"\\\\\" :\n // shift off the next letter to be used straight away.\n // it was escaped so we'll keep it whatever it is\n letter = meta.shift();\n default :\n parts[ parts.length - 1 ] += letter;\n break;\n }\n }\n\n return parts;\n}\n\nMarkdown.dialects.Maruku.block.document_meta = function document_meta( block, next ) {\n // we're only interested in the first block\n if ( block.lineNumber > 1 ) return undefined;\n\n // document_meta blocks consist of one or more lines of `Key: Value\\n`\n if ( ! block.match( /^(?:\\w+:.*\\n)*\\w+:.*$/ ) ) return undefined;\n\n // make an attribute node if it doesn't exist\n if ( !extract_attr( this.tree ) ) {\n this.tree.splice( 1, 0, {} );\n }\n\n var pairs = block.split( /\\n/ );\n for ( p in pairs ) {\n var m = pairs[ p ].match( /(\\w+):\\s*(.*)$/ ),\n key = m[ 1 ].toLowerCase(),\n value = m[ 2 ];\n\n this.tree[ 1 ][ key ] = value;\n }\n\n // document_meta produces no content!\n return [];\n};\n\nMarkdown.dialects.Maruku.block.block_meta = function block_meta( block, next ) {\n // check if the last line of the block is an meta hash\n var m = block.match( /(^|\\n) {0,3}\\{:\\s*((?:\\\\\\}|[^\\}])*)\\s*\\}$/ );\n if ( !m ) return undefined;\n\n // process the meta hash\n var attr = this.dialect.processMetaHash( m[ 2 ] );\n\n var hash;\n\n // if we matched ^ then we need to apply meta to the previous block\n if ( m[ 1 ] === \"\" ) {\n var node = this.tree[ this.tree.length - 1 ];\n hash = extract_attr( node );\n\n // if the node is a string (rather than JsonML), bail\n if ( typeof node === \"string\" ) return undefined;\n\n // create the attribute hash if it doesn't exist\n if ( !hash ) {\n hash = {};\n node.splice( 1, 0, hash );\n }\n\n // add the attributes in\n for ( a in attr ) {\n hash[ a ] = attr[ a ];\n }\n\n // return nothing so the meta hash is removed\n return [];\n }\n\n // pull the meta hash off the block and process what's left\n var b = block.replace( /\\n.*$/, \"\" ),\n result = this.processBlock( b, [] );\n\n // get or make the attributes hash\n hash = extract_attr( result[ 0 ] );\n if ( !hash ) {\n hash = {};\n result[ 0 ].splice( 1, 0, hash );\n }\n\n // attach the attributes to the block\n for ( a in attr ) {\n hash[ a ] = attr[ a ];\n }\n\n return result;\n};\n\nMarkdown.dialects.Maruku.block.definition_list = function definition_list( block, next ) {\n // one or more terms followed by one or more definitions, in a single block\n var tight = /^((?:[^\\s:].*\\n)+):\\s+([\\s\\S]+)$/,\n list = [ \"dl\" ],\n i, m;\n\n // see if we're dealing with a tight or loose block\n if ( ( m = block.match( tight ) ) ) {\n // pull subsequent tight DL blocks out of `next`\n var blocks = [ block ];\n while ( next.length && tight.exec( next[ 0 ] ) ) {\n blocks.push( next.shift() );\n }\n\n for ( var b = 0; b < blocks.length; ++b ) {\n var m = blocks[ b ].match( tight ),\n terms = m[ 1 ].replace( /\\n$/, \"\" ).split( /\\n/ ),\n defns = m[ 2 ].split( /\\n:\\s+/ );\n\n // print( uneval( m ) );\n\n for ( i = 0; i < terms.length; ++i ) {\n list.push( [ \"dt\", terms[ i ] ] );\n }\n\n for ( i = 0; i < defns.length; ++i ) {\n // run inline processing over the definition\n list.push( [ \"dd\" ].concat( this.processInline( defns[ i ].replace( /(\\n)\\s+/, \"$1\" ) ) ) );\n }\n }\n }\n else {\n return undefined;\n }\n\n return [ list ];\n};\n\n// splits on unescaped instances of @ch. If @ch is not a character the result\n// can be unpredictable\n\nMarkdown.dialects.Maruku.block.table = function table (block, next) {\n\n var _split_on_unescaped = function(s, ch) {\n ch = ch || '\\\\s';\n if (ch.match(/^[\\\\|\\[\\]{}?*.+^$]$/)) { ch = '\\\\' + ch; }\n var res = [ ],\n r = new RegExp('^((?:\\\\\\\\.|[^\\\\\\\\' + ch + '])*)' + ch + '(.*)'),\n m;\n while(m = s.match(r)) {\n res.push(m[1]);\n s = m[2];\n }\n res.push(s);\n return res;\n }\n\n var leading_pipe = /^ {0,3}\\|(.+)\\n {0,3}\\|\\s*([\\-:]+[\\-| :]*)\\n((?:\\s*\\|.*(?:\\n|$))*)(?=\\n|$)/,\n // find at least an unescaped pipe in each line\n no_leading_pipe = /^ {0,3}(\\S(?:\\\\.|[^\\\\|])*\\|.*)\\n {0,3}([\\-:]+\\s*\\|[\\-| :]*)\\n((?:(?:\\\\.|[^\\\\|])*\\|.*(?:\\n|$))*)(?=\\n|$)/,\n i, m;\n if (m = block.match(leading_pipe)) {\n // remove leading pipes in contents\n // (header and horizontal rule already have the leading pipe left out)\n m[3] = m[3].replace(/^\\s*\\|/gm, '');\n } else if (! ( m = block.match(no_leading_pipe))) {\n return undefined;\n }\n\n var table = [ \"table\", [ \"thead\", [ \"tr\" ] ], [ \"tbody\" ] ];\n\n // remove trailing pipes, then split on pipes\n // (no escaped pipes are allowed in horizontal rule)\n m[2] = m[2].replace(/\\|\\s*$/, '').split('|');\n\n // process alignment\n var html_attrs = [ ];\n forEach (m[2], function (s) {\n if (s.match(/^\\s*-+:\\s*$/)) html_attrs.push({align: \"right\"});\n else if (s.match(/^\\s*:-+\\s*$/)) html_attrs.push({align: \"left\"});\n else if (s.match(/^\\s*:-+:\\s*$/)) html_attrs.push({align: \"center\"});\n else html_attrs.push({});\n });\n\n // now for the header, avoid escaped pipes\n m[1] = _split_on_unescaped(m[1].replace(/\\|\\s*$/, ''), '|');\n for (i = 0; i < m[1].length; i++) {\n table[1][1].push(['th', html_attrs[i] || {}].concat(\n this.processInline(m[1][i].trim())));\n }\n\n // now for body contents\n forEach (m[3].replace(/\\|\\s*$/mg, '').split('\\n'), function (row) {\n var html_row = ['tr'];\n row = _split_on_unescaped(row, '|');\n for (i = 0; i < row.length; i++) {\n html_row.push(['td', html_attrs[i] || {}].concat(this.processInline(row[i].trim())));\n }\n table[2].push(html_row);\n }, this);\n\n return [table];\n}\n\nMarkdown.dialects.Maruku.inline[ \"{:\" ] = function inline_meta( text, matches, out ) {\n if ( !out.length ) {\n return [ 2, \"{:\" ];\n }\n\n // get the preceeding element\n var before = out[ out.length - 1 ];\n\n if ( typeof before === \"string\" ) {\n return [ 2, \"{:\" ];\n }\n\n // match a meta hash\n var m = text.match( /^\\{:\\s*((?:\\\\\\}|[^\\}])*)\\s*\\}/ );\n\n // no match, false alarm\n if ( !m ) {\n return [ 2, \"{:\" ];\n }\n\n // attach the attributes to the preceeding element\n var meta = this.dialect.processMetaHash( m[ 1 ] ),\n attr = extract_attr( before );\n\n if ( !attr ) {\n attr = {};\n before.splice( 1, 0, attr );\n }\n\n for ( var k in meta ) {\n attr[ k ] = meta[ k ];\n }\n\n // cut out the string and replace it with nothing\n return [ m[ 0 ].length, \"\" ];\n};\n\nMarkdown.dialects.Maruku.inline.__escape__ = /^\\\\[\\\\`\\*_{}\\[\\]()#\\+.!\\-|:]/;\n\nMarkdown.buildBlockOrder ( Markdown.dialects.Maruku.block );\nMarkdown.buildInlinePatterns( Markdown.dialects.Maruku.inline );\n\nvar isArray = Array.isArray || function(obj) {\n return Object.prototype.toString.call(obj) == \"[object Array]\";\n};\n\nvar forEach;\n// Don't mess with Array.prototype. Its not friendly\nif ( Array.prototype.forEach ) {\n forEach = function( arr, cb, thisp ) {\n return arr.forEach( cb, thisp );\n };\n}\nelse {\n forEach = function(arr, cb, thisp) {\n for (var i = 0; i < arr.length; i++) {\n cb.call(thisp || arr, arr[i], i, arr);\n }\n }\n}\n\nvar isEmpty = function( obj ) {\n for ( var key in obj ) {\n if ( hasOwnProperty.call( obj, key ) ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction extract_attr( jsonml ) {\n return isArray(jsonml)\n && jsonml.length > 1\n && typeof jsonml[ 1 ] === \"object\"\n && !( isArray(jsonml[ 1 ]) )\n ? jsonml[ 1 ]\n : undefined;\n}\n\n\n\n/**\n * renderJsonML( jsonml[, options] ) -> String\n * - jsonml (Array): JsonML array to render to XML\n * - options (Object): options\n *\n * Converts the given JsonML into well-formed XML.\n *\n * The options currently understood are:\n *\n * - root (Boolean): wether or not the root node should be included in the\n * output, or just its children. The default `false` is to not include the\n * root itself.\n */\nexpose.renderJsonML = function( jsonml, options ) {\n options = options || {};\n // include the root element in the rendered output?\n options.root = options.root || false;\n\n var content = [];\n\n if ( options.root ) {\n content.push( render_tree( jsonml ) );\n }\n else {\n jsonml.shift(); // get rid of the tag\n if ( jsonml.length && typeof jsonml[ 0 ] === \"object\" && !( jsonml[ 0 ] instanceof Array ) ) {\n jsonml.shift(); // get rid of the attributes\n }\n\n while ( jsonml.length ) {\n content.push( render_tree( jsonml.shift() ) );\n }\n }\n\n return content.join( \"\\n\\n\" );\n};\n\nfunction escapeHTML( text ) {\n return text.replace( /&/g, \"&\" )\n .replace( /</g, \"<\" )\n .replace( />/g, \">\" )\n .replace( /\"/g, \""\" )\n .replace( /'/g, \"'\" );\n}\n\nfunction render_tree( jsonml ) {\n // basic case\n if ( typeof jsonml === \"string\" ) {\n return escapeHTML( jsonml );\n }\n\n var tag = jsonml.shift(),\n attributes = {},\n content = [];\n\n if ( jsonml.length && typeof jsonml[ 0 ] === \"object\" && !( jsonml[ 0 ] instanceof Array ) ) {\n attributes = jsonml.shift();\n }\n\n while ( jsonml.length ) {\n content.push( render_tree( jsonml.shift() ) );\n }\n\n var tag_attrs = \"\";\n for ( var a in attributes ) {\n tag_attrs += \" \" + a + '=\"' + escapeHTML( attributes[ a ] ) + '\"';\n }\n\n // be careful about adding whitespace here for inline elements\n if ( tag == \"img\" || tag == \"br\" || tag == \"hr\" ) {\n return \"<\"+ tag + tag_attrs + \"/>\";\n }\n else {\n return \"<\"+ tag + tag_attrs + \">\" + content.join( \"\" ) + \"</\" + tag + \">\";\n }\n}\n\nfunction convert_tree_to_html( tree, references, options ) {\n var i;\n options = options || {};\n\n // shallow clone\n var jsonml = tree.slice( 0 );\n\n if ( typeof options.preprocessTreeNode === \"function\" ) {\n jsonml = options.preprocessTreeNode(jsonml, references);\n }\n\n // Clone attributes if they exist\n var attrs = extract_attr( jsonml );\n if ( attrs ) {\n jsonml[ 1 ] = {};\n for ( i in attrs ) {\n jsonml[ 1 ][ i ] = attrs[ i ];\n }\n attrs = jsonml[ 1 ];\n }\n\n // basic case\n if ( typeof jsonml === \"string\" ) {\n return jsonml;\n }\n\n // convert this node\n switch ( jsonml[ 0 ] ) {\n case \"header\":\n jsonml[ 0 ] = \"h\" + jsonml[ 1 ].level;\n delete jsonml[ 1 ].level;\n break;\n case \"bulletlist\":\n jsonml[ 0 ] = \"ul\";\n break;\n case \"numberlist\":\n jsonml[ 0 ] = \"ol\";\n break;\n case \"listitem\":\n jsonml[ 0 ] = \"li\";\n break;\n case \"para\":\n jsonml[ 0 ] = \"p\";\n break;\n case \"markdown\":\n jsonml[ 0 ] = \"html\";\n if ( attrs ) delete attrs.references;\n break;\n case \"code_block\":\n jsonml[ 0 ] = \"pre\";\n i = attrs ? 2 : 1;\n var code = [ \"code\" ];\n code.push.apply( code, jsonml.splice( i, jsonml.length - i ) );\n jsonml[ i ] = code;\n break;\n case \"inlinecode\":\n jsonml[ 0 ] = \"code\";\n break;\n case \"img\":\n jsonml[ 1 ].src = jsonml[ 1 ].href;\n delete jsonml[ 1 ].href;\n break;\n case \"linebreak\":\n jsonml[ 0 ] = \"br\";\n break;\n case \"link\":\n jsonml[ 0 ] = \"a\";\n break;\n case \"link_ref\":\n jsonml[ 0 ] = \"a\";\n\n // grab this ref and clean up the attribute node\n var ref = references[ attrs.ref ];\n\n // if the reference exists, make the link\n if ( ref ) {\n delete attrs.ref;\n\n // add in the href and title, if present\n attrs.href = ref.href;\n if ( ref.title ) {\n attrs.title = ref.title;\n }\n\n // get rid of the unneeded original text\n delete attrs.original;\n }\n // the reference doesn't exist, so revert to plain text\n else {\n return attrs.original;\n }\n break;\n case \"img_ref\":\n jsonml[ 0 ] = \"img\";\n\n // grab this ref and clean up the attribute node\n var ref = references[ attrs.ref ];\n\n // if the reference exists, make the link\n if ( ref ) {\n delete attrs.ref;\n\n // add in the href and title, if present\n attrs.src = ref.href;\n if ( ref.title ) {\n attrs.title = ref.title;\n }\n\n // get rid of the unneeded original text\n delete attrs.original;\n }\n // the reference doesn't exist, so revert to plain text\n else {\n return attrs.original;\n }\n break;\n }\n\n // convert all the children\n i = 1;\n\n // deal with the attribute node, if it exists\n if ( attrs ) {\n // if there are keys, skip over it\n for ( var key in jsonml[ 1 ] ) {\n i = 2;\n break;\n }\n // if there aren't, remove it\n if ( i === 1 ) {\n jsonml.splice( i, 1 );\n }\n }\n\n for ( ; i < jsonml.length; ++i ) {\n jsonml[ i ] = convert_tree_to_html( jsonml[ i ], references, options );\n }\n\n return jsonml;\n}\n\n\n// merges adjacent text nodes into a single node\nfunction merge_text_nodes( jsonml ) {\n // skip the tag name and attribute hash\n var i = extract_attr( jsonml ) ? 2 : 1;\n\n while ( i < jsonml.length ) {\n // if it's a string check the next item too\n if ( typeof jsonml[ i ] === \"string\" ) {\n if ( i + 1 < jsonml.length && typeof jsonml[ i + 1 ] === \"string\" ) {\n // merge the second string into the first and remove it\n jsonml[ i ] += jsonml.splice( i + 1, 1 )[ 0 ];\n }\n else {\n ++i;\n }\n }\n // if it's not a string recurse\n else {\n merge_text_nodes( jsonml[ i ] );\n ++i;\n }\n }\n}\n\n} )( (function() {\n if ( typeof exports === \"undefined\" ) {\n window.markdown = {};\n return window.markdown;\n }\n else {\n return exports;\n }\n} )() );\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/markdown/markdown.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/markdown/images/new-markdown-button": {
"title": "$:/plugins/tiddlywiki/markdown/images/new-markdown-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-markdown-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <path d=\"M3.23876972,39.5396716 C3.23876972,35.9653274 6.13586353,33.0691646 9.7141757,33.0691646 L98.1283744,33.0691646 C101.706101,33.0691646 104.60378,35.9646626 104.60378,39.5396716 L104.60378,84.8296213 C104.60378,88.4039654 101.706687,91.3001282 98.1283744,91.3001282 L9.7141757,91.3001282 C6.13644944,91.3001282 3.23876972,88.4046302 3.23876972,84.8296213 L3.23876972,39.5396716 L3.23876972,39.5396716 Z M-2.15298617,39.5396716 L-2.15298617,84.8296213 C-2.15298617,91.3833243 3.15957363,96.6918841 9.7141757,96.6918841 L98.1283744,96.6918841 C104.684083,96.6918841 109.995536,91.382138 109.995536,84.8296213 L109.995536,39.5396716 C109.995536,32.9859686 104.682977,27.6774087 98.1283744,27.6774087 L9.7141757,27.6774087 C3.15846686,27.6774087 -2.15298617,32.9871549 -2.15298617,39.5396716 Z M14.0222815,80.5166164 L14.0222815,43.8526764 L24.8057933,43.8526764 L35.589305,57.3320661 L46.3728168,43.8526764 L57.1563286,43.8526764 L57.1563286,80.5166164 L46.3728168,80.5166164 L46.3728168,59.4887685 L35.589305,72.9681582 L24.8057933,59.4887685 L24.8057933,80.5166164 L14.0222815,80.5166164 Z M81.4192301,80.5166164 L65.2439624,62.723822 L76.0274742,62.723822 L76.0274742,43.8526764 L86.810986,43.8526764 L86.810986,62.723822 L97.5944978,62.723822 L81.4192301,80.5166164 Z\"transform=\"translate(53.921275, 62.184646) rotate(-60.000000) translate(-53.921275, -62.184646) \"></path>\n </g>\n</svg>"
},
"$:/plugins/tiddlywiki/markdown/new-markdown-button": {
"title": "$:/plugins/tiddlywiki/markdown/new-markdown-button",
"tags": "$:/tags/PageControls",
"caption": "{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}} {{$:/language/Buttons/NewMarkdown/Caption}}",
"description": "{{$:/language/Buttons/NewMarkdown/Hint}}",
"list-after": "$:/core/ui/Buttons/new-tiddler",
"text": "<$button tooltip={{$:/language/Buttons/NewMarkdown/Hint}} aria-label={{$:/language/Buttons/NewMarkdown/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/x-markdown\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewMarkdown/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/plugins/tiddlywiki/markdown/readme": {
"title": "$:/plugins/tiddlywiki/markdown/readme",
"text": "This is a TiddlyWiki plugin for parsing Markdown text, based on the [[markdown-js|https://github.com/evilstreak/markdown-js]] project from Dominic Baggott. \n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/markdown]]\n"
},
"$:/plugins/tiddlywiki/markdown/usage": {
"title": "$:/plugins/tiddlywiki/markdown/usage",
"text": "! Markdown Dialects\n\nBy default the markdown parser recognises the original dialect of Markdown [[as described by John Gruber|http://daringfireball.net/projects/markdown/]]. An extended dialect called \"Maruku\" is also included that provides table support and other advanced features. The syntax extensions are modelled on those of [[PHP Markdown Extra|https://michelf.ca/projects/php-markdown/extra/]].\n\nThe configuration tiddler [[$:/config/markdown/dialect]] determines which dialect is used:\n\n|!Dialect |!Description |\n|Gruber |Standard Markdown |\n|Maruku |Extended Maruku Markdown |\n\n\n! Creating ~WikiLinks\n\nCreate wiki links with the usual Markdown link syntax targeting `#` and the target tiddler title:\n\n```\n[link text](#TiddlerTitle)\n```\n\n! Images\n\nMarkdown image syntax can be used to reference images by tiddler title or an external URI. For example:\n\n```\n\n\n\n```\n"
},
"$:/plugins/tiddlywiki/markdown/wrapper.js": {
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/wrapper.js\ntype: application/javascript\nmodule-type: parser\n\nWraps up the markdown-js parser for use in TiddlyWiki5\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar markdown = require(\"$:/plugins/tiddlywiki/markdown/markdown.js\");\n\nvar CONFIG_DIALECT_TIDDLER = \"$:/config/markdown/dialect\",\n\tDEFAULT_DIALECT = \"Gruber\";\n\nfunction transformNodes(nodes) {\n\tvar results = [];\n\tfor(var index=0; index<nodes.length; index++) {\n\t\tresults.push(transformNode(nodes[index]));\n\t}\n\treturn results;\n}\n\nfunction transformNode(node) {\n\tif($tw.utils.isArray(node)) {\n\t\tvar p = 0,\n\t\t\twidget = {type: \"element\", tag: node[p++]};\n\t\tif(!$tw.utils.isArray(node[p]) && typeof(node[p]) === \"object\") {\n\t\t\twidget.attributes = {};\n\t\t\t$tw.utils.each(node[p++],function(value,name) {\n\t\t\t\twidget.attributes[name] = {type: \"string\", value: value};\n\t\t\t});\n\t\t}\n\t\twidget.children = transformNodes(node.slice(p++));\n\t\t// Massage images into the image widget\n\t\tif(widget.tag === \"img\") {\n\t\t\twidget.type = \"image\";\n\t\t\tif(widget.attributes.alt) {\n\t\t\t\twidget.attributes.tooltip = widget.attributes.alt;\n\t\t\t\tdelete widget.attributes.alt;\n\t\t\t}\n\t\t\tif(widget.attributes.src) {\n\t\t\t\twidget.attributes.source = widget.attributes.src;\n\t\t\t\tdelete widget.attributes.src;\n\t\t\t}\n\t\t}\n\t\t// Convert internal links to proper wikilinks\n\t\tif (widget.tag === \"a\" && widget.attributes.href.value[0] === \"#\") {\n\t\t\twidget.type = \"link\";\n\t\t\twidget.attributes.to = widget.attributes.href;\n\t\t\tif (widget.attributes.to.type === \"string\") {\n\t\t\t\t//Remove '#' before conversion to wikilink\n\t\t\t\twidget.attributes.to.value = widget.attributes.to.value.substr(1);\n\t\t\t}\n\t\t\t//Children is fine\n\t\t\tdelete widget.tag;\n\t\t\tdelete widget.attributes.href;\n\t\t}\n\t\treturn widget;\n\t} else {\n\t\treturn {type: \"text\", text: node};\n\t}\n}\n\nvar MarkdownParser = function(type,text,options) {\n\tvar dialect = options.wiki.getTiddlerText(CONFIG_DIALECT_TIDDLER,DEFAULT_DIALECT),\n\t\tmarkdownTree = markdown.toHTMLTree(text,dialect),\n\t\tnode = $tw.utils.isArray(markdownTree[1]) ? markdownTree.slice(1) : markdownTree.slice(2);\n\tthis.tree = transformNodes(node);\n};\n\n/*\n\n[ 'html',\n [ 'p', 'something' ],\n [ 'h1',\n 'heading and ',\n [ 'strong', 'other' ] ] ]\n\n*/\n\nexports[\"text/x-markdown\"] = MarkdownParser;\n\n})();\n\n",
"title": "$:/plugins/tiddlywiki/markdown/wrapper.js",
"type": "application/javascript",
"module-type": "parser"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js": {
"text": "(function(doc) {\n\nfunction _exposeIosHtml5DragDropShim(config) {\n log = noop; // noOp, remove this line to enable debugging\n\n var coordinateSystemForElementFromPoint;\n\n var DRAG_OVER_EMIT_FREQ = 50;\n\n function main() {\n config = config || {};\n if (!config.hasOwnProperty(\"simulateAnchorClick\")) config.simulateAnchorClick = true;\n\n coordinateSystemForElementFromPoint = navigator.userAgent.match(/OS [1-4](?:_\\d+)+ like Mac/) ? \"page\" : \"client\";\n\n var div = doc.createElement('div');\n var dragDiv = 'draggable' in div;\n var evts = 'ondragstart' in div && 'ondrop' in div;\n\n var needsPatch = !(dragDiv || evts) || /iPad|iPhone|iPod|Android/.test(navigator.userAgent);\n log((needsPatch ? \"\" : \"not \") + \"patching html5 drag drop\");\n\n if(!needsPatch) {\n return;\n }\n\n if(!config.enableEnterLeave) {\n DragDrop.prototype.synthesizeEnterLeave = noop;\n }\n\n if(config.holdToDrag){\n doc.addEventListener(\"touchstart\", touchstartDelay(config.holdToDrag), {passive:false});\n }\n else {\n doc.addEventListener(\"touchstart\", touchstart, {passive:false});\n }\n }\n\n function DragDrop(event, el) {\n\n this.dragData = {};\n this.dragDataTypes = [];\n this.dragImage = null;\n this.dragImageTransform = null;\n this.dragImageWebKitTransform = null;\n this.customDragImage = null;\n this.customDragImageX = null;\n this.customDragImageY = null;\n this.el = el || event.target;\n this.dragOverTimer = null;\n this.lastMoveEvent = null;\n\n log(\"dragstart\");\n\n if (this.dispatchDragStart()) {\n this.createDragImage();\n this.listen();\n }\n }\n\n DragDrop.prototype = {\n listen: function() {\n var move = onEvt(doc, \"touchmove\", this.move, this);\n var end = onEvt(doc, \"touchend\", ontouchend, this);\n var cancel = onEvt(doc, \"touchcancel\", cleanup, this);\n\n function ontouchend(event) {\n this.dragend(event, event.target);\n cleanup.call(this);\n }\n function cleanup() {\n log(\"cleanup\");\n this.dragDataTypes = [];\n if (this.dragImage !== null) {\n this.dragImage.parentNode.removeChild(this.dragImage);\n this.dragImage = null;\n this.dragImageTransform = null;\n this.dragImageWebKitTransform = null;\n }\n this.customDragImage = null;\n this.customDragImageX = null;\n this.customDragImageY = null;\n this.el = this.dragData = null;\n return [move, end, cancel].forEach(function(handler) {\n return handler.off();\n });\n }\n },\n move: function(event) {\n event.preventDefault();\n var pageXs = [], pageYs = [];\n [].forEach.call(event.changedTouches, function(touch) {\n pageXs.push(touch.pageX);\n pageYs.push(touch.pageY);\n });\n\n var x = average(pageXs) - (this.customDragImageX || parseInt(this.dragImage.offsetWidth, 10) / 2);\n var y = average(pageYs) - (this.customDragImageY || parseInt(this.dragImage.offsetHeight, 10) / 2);\n this.translateDragImage(x, y);\n\n this.synthesizeEnterLeave(event);\n this.synthesizeOver(event);\n },\n // We use translate instead of top/left because of sub-pixel rendering and for the hope of better performance\n // http://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/\n translateDragImage: function(x, y) {\n var translate = \"translate(\" + x + \"px,\" + y + \"px) \";\n\n if (this.dragImageWebKitTransform !== null) {\n this.dragImage.style[\"-webkit-transform\"] = translate + this.dragImageWebKitTransform;\n }\n if (this.dragImageTransform !== null) {\n this.dragImage.style.transform = translate + this.dragImageTransform;\n }\n },\n synthesizeEnterLeave: function(event) {\n var target = elementFromTouchEvent(this.el,event)\n if (target != this.lastEnter) {\n if (this.lastEnter) {\n this.dispatchLeave(event);\n }\n this.lastEnter = target;\n if (this.lastEnter) {\n this.dispatchEnter(event);\n }\n }\n },\n synthesizeOver: function(event) {\n this.lastMoveEvent = event;\n if(this.lastEnter && !this.dragOverTimer) {\n this.dragOverTimer = setInterval(this.dispatchOver.bind(this), DRAG_OVER_EMIT_FREQ);\n }\n },\n clearDragOverTimer: function() {\n if(this.dragOverTimer) {\n clearInterval(this.dragOverTimer);\n this.dragOverTimer = null;\n }\n },\n dragend: function(event) {\n\n // we'll dispatch drop if there's a target, then dragEnd.\n // drop comes first http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model\n log(\"dragend\");\n\n if (this.lastEnter) {\n this.dispatchLeave(event);\n }\n\n var target = elementFromTouchEvent(this.el,event)\n if (target) {\n log(\"found drop target \" + target.tagName);\n this.dispatchDrop(target, event);\n } else {\n log(\"no drop target\");\n }\n\n var dragendEvt = doc.createEvent(\"Event\");\n dragendEvt.initEvent(\"dragend\", true, true);\n this.el.dispatchEvent(dragendEvt);\n this.clearDragOverTimer();\n },\n dispatchDrop: function(target, event) {\n var dropEvt = doc.createEvent(\"Event\");\n dropEvt.initEvent(\"drop\", true, true);\n\n var touch = event.changedTouches[0];\n var x = touch[coordinateSystemForElementFromPoint + 'X'];\n var y = touch[coordinateSystemForElementFromPoint + 'Y'];\n\n var targetOffset = getOffset(target);\n\n dropEvt.offsetX = x - targetOffset.x;\n dropEvt.offsetY = y - targetOffset.y;\n\n dropEvt.dataTransfer = {\n types: this.dragDataTypes,\n getData: function(type) {\n return this.dragData[type];\n }.bind(this),\n dropEffect: \"move\"\n };\n dropEvt.preventDefault = function() {\n // https://www.w3.org/Bugs/Public/show_bug.cgi?id=14638 - if we don't cancel it, we'll snap back\n }.bind(this);\n\n once(doc, \"drop\", function() {\n log(\"drop event not canceled\");\n },this);\n\n target.dispatchEvent(dropEvt);\n },\n dispatchEnter: function(event) {\n\n var enterEvt = doc.createEvent(\"Event\");\n enterEvt.initEvent(\"dragenter\", true, true);\n enterEvt.dataTransfer = {\n types: this.dragDataTypes,\n getData: function(type) {\n return this.dragData[type];\n }.bind(this)\n };\n\n var touch = event.changedTouches[0];\n enterEvt.pageX = touch.pageX;\n enterEvt.pageY = touch.pageY;\n enterEvt.clientX = touch.clientX;\n enterEvt.clientY = touch.clientY;\n\n this.lastEnter.dispatchEvent(enterEvt);\n },\n dispatchOver: function() {\n\n var overEvt = doc.createEvent(\"Event\");\n overEvt.initEvent(\"dragover\", true, true);\n overEvt.dataTransfer = {\n types: this.dragDataTypes,\n getData: function(type) {\n return this.dragData[type];\n }.bind(this)\n };\n\n var touch = this.lastMoveEvent.changedTouches[0];\n overEvt.pageX = touch.pageX;\n overEvt.pageY = touch.pageY;\n overEvt.clientX = touch.clientX;\n overEvt.clientY = touch.clientY;\n\n this.lastEnter.dispatchEvent(overEvt);\n },\n dispatchLeave: function(event) {\n\n var leaveEvt = doc.createEvent(\"Event\");\n leaveEvt.initEvent(\"dragleave\", true, true);\n leaveEvt.dataTransfer = {\n types: this.dragDataTypes,\n getData: function(type) {\n return this.dragData[type];\n }.bind(this)\n };\n\n var touch = event.changedTouches[0];\n leaveEvt.pageX = touch.pageX;\n leaveEvt.pageY = touch.pageY;\n leaveEvt.clientX = touch.clientX;\n leaveEvt.clientY = touch.clientY;\n\n this.lastEnter.dispatchEvent(leaveEvt);\n this.lastEnter = null;\n this.clearDragOverTimer();\n },\n dispatchDragStart: function() {\n var evt = doc.createEvent(\"Event\");\n evt.initEvent(\"dragstart\", true, true);\n evt.dataTransfer = {\n setData: function(type, val) {\n this.dragData[type] = val;\n if (this.dragDataTypes.indexOf(type) == -1) {\n this.dragDataTypes[this.dragDataTypes.length] = type;\n }\n return val;\n }.bind(this),\n setDragImage: function(el, x, y){\n this.customDragImage = el;\n this.customDragImageX = x\n this.customDragImageY = y\n }.bind(this),\n dropEffect: \"move\"\n };\n return this.el.dispatchEvent(evt);\n },\n createDragImage: function() {\n if (this.customDragImage) {\n this.dragImage = this.customDragImage.cloneNode(true);\n duplicateStyle(this.customDragImage, this.dragImage);\n } else {\n this.dragImage = this.el.cloneNode(true);\n duplicateStyle(this.el, this.dragImage);\n }\n this.dragImage.style.opacity = \"0.5\";\n this.dragImage.style.position = \"absolute\";\n this.dragImage.style.left = \"0px\";\n this.dragImage.style.top = \"0px\";\n this.dragImage.style.zIndex = \"999999\";\n\n var transform = this.dragImage.style.transform;\n if (typeof transform !== \"undefined\") {\n this.dragImageTransform = \"\";\n if (transform != \"none\") {\n this.dragImageTransform = transform.replace(/translate\\(\\D*\\d+[^,]*,\\D*\\d+[^,]*\\)\\s*/g, '');\n }\n }\n\n var webkitTransform = this.dragImage.style[\"-webkit-transform\"];\n if (typeof webkitTransform !== \"undefined\") {\n this.dragImageWebKitTransform = \"\";\n if (webkitTransform != \"none\") {\n this.dragImageWebKitTransform = webkitTransform.replace(/translate\\(\\D*\\d+[^,]*,\\D*\\d+[^,]*\\)\\s*/g, '');\n }\n }\n\n this.translateDragImage(-9999, -9999);\n\n doc.body.appendChild(this.dragImage);\n }\n };\n\n // delayed touch start event\n function touchstartDelay(delay) {\n return function(evt){\n var el = evt.target;\n\n do {\n if (elementIsDraggable(el)) {\n var heldItem = function() {\n end.off();\n cancel.off();\n scroll.off();\n touchstart(evt);\n };\n\n var onReleasedItem = function() {\n end.off();\n cancel.off();\n scroll.off();\n clearTimeout(timer);\n };\n\n var timer = setTimeout(heldItem, delay);\n\n var end = onEvt(el, 'touchend', onReleasedItem, this);\n var cancel = onEvt(el, 'touchcancel', onReleasedItem, this);\n var scroll = onEvt(window, 'scroll', onReleasedItem, this);\n break;\n }\n } while ((el = el.parentNode) && el !== doc.body);\n };\n };\n\n // event listeners\n function touchstart(evt) {\n var el = evt.target;\n do {\n if (elementIsDraggable(el)) {\n handleTouchStartOnAnchor(evt, el);\n\n evt.preventDefault();\n new DragDrop(evt,el);\n break;\n }\n } while((el = el.parentNode) && el !== doc.body);\n }\n\n function elementIsDraggable(el){\n // if an element is not draggable either explicitly or implicitly we can exit immediately\n if(!el.draggable) return false;\n\n // if an element has been explicitly set to be draggable we're good to go\n if(el.hasAttribute(\"draggable\")) return true;\n\n // otherwise we investigate the implicit option\n return (!config.requireExplicitDraggable);\n }\n\n function elementIsAnchor(el){\n return el.tagName.toLowerCase() == \"a\";\n }\n\n function handleTouchStartOnAnchor(evt, el){\n // If draggable isn't explicitly set for anchors, then simulate a click event.\n // Otherwise plain old vanilla links will stop working.\n // https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events#Handling_clicks\n if (!el.hasAttribute(\"draggable\") && elementIsAnchor(el) && config.simulateAnchorClick) {\n var clickEvt = document.createEvent(\"MouseEvents\");\n clickEvt.initMouseEvent(\"click\", true, true, el.ownerDocument.defaultView, 1,\n evt.screenX, evt.screenY, evt.clientX, evt.clientY,\n evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, 0, null);\n el.dispatchEvent(clickEvt);\n log(\"Simulating click to anchor\");\n }\n }\n\n // DOM helpers\n function elementFromTouchEvent(el,event) {\n var touch = event.changedTouches[0];\n var target = doc.elementFromPoint(\n touch[coordinateSystemForElementFromPoint + \"X\"],\n touch[coordinateSystemForElementFromPoint + \"Y\"]\n );\n return target;\n }\n\n //calculate the offset position of an element (relative to the window, not the document)\n function getOffset(el) {\n var rect = el.getBoundingClientRect();\n return {\n \"x\": rect.left,\n \"y\": rect.top\n };\n }\n\n function onEvt(el, event, handler, context) {\n if(context) {\n handler = handler.bind(context);\n }\n el.addEventListener(event, handler, {passive:false});\n return {\n off: function() {\n return el.removeEventListener(event, handler, {passive:false});\n }\n };\n }\n\n function once(el, event, handler, context) {\n if(context) {\n handler = handler.bind(context);\n }\n function listener(evt) {\n handler(evt);\n return el.removeEventListener(event,listener);\n }\n return el.addEventListener(event,listener);\n }\n\n // duplicateStyle expects dstNode to be a clone of srcNode\n function duplicateStyle(srcNode, dstNode) {\n // Is this node an element?\n if (srcNode.nodeType == 1) {\n // Remove any potential conflict attributes\n dstNode.removeAttribute(\"id\");\n dstNode.removeAttribute(\"class\");\n dstNode.removeAttribute(\"style\");\n dstNode.removeAttribute(\"draggable\");\n\n // Clone the style\n var cs = window.getComputedStyle(srcNode);\n for (var i = 0; i < cs.length; i++) {\n var csName = cs[i];\n dstNode.style.setProperty(csName, cs.getPropertyValue(csName), cs.getPropertyPriority(csName));\n }\n\n // Pointer events as none makes the drag image transparent to document.elementFromPoint()\n dstNode.style.pointerEvents = \"none\";\n }\n\n // Do the same for the children\n if (srcNode.hasChildNodes()) {\n for (var j = 0; j < srcNode.childNodes.length; j++) {\n duplicateStyle(srcNode.childNodes[j], dstNode.childNodes[j]);\n }\n }\n }\n\n // general helpers\n function log(msg) {\n console.log(msg);\n }\n\n function average(arr) {\n if (arr.length === 0) return 0;\n return arr.reduce((function(s, v) {\n return v + s;\n }), 0) / arr.length;\n }\n\n function noop() {}\n\n main();\n\n};\n\nif (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = _exposeIosHtml5DragDropShim;\n} else if (typeof window !== 'undefined') {\n _exposeIosHtml5DragDropShim(window.iosDragDropShim);\n}\n})(document);",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js"
},
"$:/plugins/tiddlywiki/mobiledragdrop/license": {
"text": "Copyright (c) 2013 Tim Ruffles\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
"type": "text/plain",
"title": "$:/plugins/tiddlywiki/mobiledragdrop/license"
},
"$:/plugins/tiddlywiki/mobiledragdrop/rawmarkup": {
"title": "$:/plugins/tiddlywiki/mobiledragdrop/rawmarkup",
"tags": "$:/tags/RawMarkupWikified",
"text": "`<script>\nvar iosDragDropShim = { enableEnterLeave: true, holdToDrag: 300 };`\n{{$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js}}\n`</script>`\n"
},
"$:/plugins/tiddlywiki/mobiledragdrop/readme": {
"title": "$:/plugins/tiddlywiki/mobiledragdrop/readme",
"text": "This plugin provides a \"shim\" that enables HTML 5 compatible drag and drop operations on mobile browsers, including iOS and Android. The shim was created by Tim Ruffles and is published at https://github.com/timruffles/ios-html5-drag-drop-shim.\n\nAfter installing the plugin it is necessary to save the HTML file a second time before it will be fully enabled.\n"
},
"$:/plugins/tiddlywiki/mobiledragdrop/startup.js": {
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/mobiledragdrop/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup initialisation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"mobiledragdrop\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\twindow.addEventListener(\"touchmove\", function() {});\n};\n\n})();\n",
"title": "$:/plugins/tiddlywiki/mobiledragdrop/startup.js",
"type": "application/javascript",
"module-type": "startup"
}
}
}
{
"tiddlers": {
"$:/config/AnimationDuration": {
"text": "600",
"type": "text/vnd.tiddlywiki",
"title": "$:/config/AnimationDuration",
"tags": "$:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modifier": "venomspinner",
"modified": "20161031174446166",
"creator": "venomspinner",
"created": "20161028170329291",
"bag": "default"
},
"$:/core/ui/PageTemplate/sidebar": {
"text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"no\" retain=\"yes\" animate=\"yes\">\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>",
"type": "text/vnd.tiddlywiki",
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modified": "20161031174446017",
"created": "20161030145349771",
"bag": "default"
},
"$:/core/ui/TopBar/menu": {
"text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\" default=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"roundbtn\">\n<span>{{$:/core/images/right-arrow}}</span>\n{{$:/irreverent-mudblood/overlay-sidebar/backgroundstyle}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\" default=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"roundbtn\"><span>{{$:/core/images/left-arrow}}</span>\n{{$:/irreverent-mudblood/overlay-sidebar/backgroundstyle2}}\n</$button>\n</$reveal>\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modifier": "Dr. Rizwan Ishak",
"modified": "20161031174446206",
"creator": "Dr. Rizwan Ishak",
"created": "20161002082547234",
"bag": "default"
},
"$:/DefaultTiddlers": {
"text": "[!is[system]![TableOfContents]!sort[modified]limit[3]]\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/DefaultTiddlers",
"modified": "20161111182143694",
"created": "20131127215321439"
},
"$:/irreverent-mudblood/overlay-sidebar/backgroundstyle": {
"created": "20161030153934135",
"text": "<style>\n@media only screen and (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.tc-sidebar-scrollable { \nbackground-color: #FEFEFE; \nz-index: 1000 !important;\npadding: 42px 0 28px 42px;\nborder-left: 1px solid #e1e1e1;\n}\n}\n\n@media only screen and (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.tc-sidebar-scrollable { \nposition:fixed !important;\nbackground-color:#FEFEFE; \npadding: 42px 0 28px 42px;\nz-index: 1000 !important; \nwidth:100% !important ; \nborder-left: 1px solid #e1e1e1;\nleft:0% !important;\ntop: 0px !important;\nbottom: 0 !important;\nright: 0 !important;\nmargin: 0 0 0 -20px !important;\n}\n}\n</style>",
"type": "text/vnd.tiddlywiki",
"title": "$:/irreverent-mudblood/overlay-sidebar/backgroundstyle",
"tags": "$:/OverlaySidebar $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modified": "20161109105829329",
"bag": "default"
},
"$:/irreverent-mudblood/overlay-sidebar/backgroundstyle2": {
"text": "<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.0); z-index: -1; }</style>",
"type": "text/vnd.tiddlywiki",
"title": "$:/irreverent-mudblood/overlay-sidebar/backgroundstyle2",
"tags": "$:/OverlaySidebar $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modifier": "Dr. Rizwan Ishak",
"modified": "20161031174446321",
"creator": "Dr. Rizwan Ishak",
"created": "20160829073842702",
"bag": "default"
},
"$:/irreverent-mudblood/overlay-sidebar/stylesheet": {
"created": "20161030153009897",
"text": ".roundbtn {\nbackground-color:{{!!roundbtnbg}};\nfont-size: 25px; \nposition: relative;\ndisplay: inline-block;\nwidth: 35px;\nheight: 35px;\ncursor: pointer; \nborder: none; \nborder-radius:100px; \nbox-shadow: 0 2px 5px 0 rgba(0, 0, 0, .26);\n\n}\n\n.roundbtn span svg{\nfont-size:15px; \nposition: absolute; \ntop: 0; right: 0; \nbottom: 0; \nleft: 0; \noverflow: auto; \nwidth: 50%; \nheight: 50%; \nmargin: auto; \nopacity: 0.8;\nfill: {{!!roundbtnspan}};\n\n}\n.roundbtn:hover span svg{\nfont-size:15px; \nposition: absolute; \ntop: 0; right: 0; \nbottom: 0; \nleft: 0; \noverflow: auto; \nmargin: auto; \nopacity:1;\nfill: {{!!roundbtnspan}} !important;\n}",
"type": "text/vnd.tiddlywiki",
"title": "$:/irreverent-mudblood/overlay-sidebar/stylesheet",
"tags": "$:/tags/Stylesheet $:/OverlaySidebar $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modified": "20161111175422374",
"bag": "default",
"roundbtnbg": "#ee4056",
"roundbtnspan": "#fff"
},
"$:/themes/ghostwriter/stylesheet/main": {
"text": " \n---\n/* System */\n\n .tc-control-panel table .autowidthinput input {width:auto;}\n\n.tc-sidebar-lists .tc-tab-set > .tc-tab-content .tc-image-button img { margin: 0 !important; display:inline-block } \n\n---\n/*Base*/\n\n---\n\nhtml, body {\n height: 100%;\n }\n\nbody {\n background: #fefefe;\n color: #424242;\n font-family: \"Open Sans\", arial, sans-serif !important;\n font-size: 15px;\n }\n\n\n\nh1, h2, h3, h4, h5, h6 {\n margin-bottom: 33px;\n text-transform: none; \n}\n\nh1 {\n font-size: 26px; }\n\nh2 {\n font-size: 24px; }\n\nh3 {\n font-size: 20px;\n margin-bottom: 20px; }\n\nh4 {\n font-size: 18px;\n margin-bottom: 18px; }\n\nh5 {\n font-size: 16px;\n margin-bottom: 15px; }\n\nh6 {\n font-size: 14px;\n margin-bottom: 12px; }\n\np {\n line-height: 1.8;\n margin: 0 0 30px; }\n\na {\n text-decoration: none; !important}\n\nul, ol {\n list-style-position: inside ;\n line-height: 1.8 ;\n margin: 0 0 40px;\n padding: 0 }\n ul ul, ul ol, ol ul, ol ol {\n margin: 10px 0 0 20px }\n ul li, ol li {\n margin: 0 0 10px }\n ul li:last-of-type, ol li:last-of-type {\n margin-bottom: 0 }\n\nblockquote {\n border-left: 1px dotted #303030;\n margin: 40px 0;\n padding: 5px 30px; }\n blockquote p {\n color: #AEADAD;\n display: block;\n font-style: italic;\n margin: 0;\n width: 100%; }\n\nimg {\n display: block;\n margin: 40px 0;\n width: auto ;\n max-width: 100%}\n\npre {\n background: #F1F0EA !important;\n border: 1px solid #DDDBCC !important;\n border-radius: 3px !important;\n margin: 0 0 40px !important;\n padding: 15px 20px !important; }\n\nhr {\n border: none !important;\n border-bottom: 1px dotted #303030 !important;\n margin: 45px 0 !important; }\n\ntable {\n margin-bottom: 40px !important;\n width: 100% !important;\n}\ntable tbody > tr:nth-child(odd) > td,\ntable tbody > tr:nth-child(odd) > th {\n background-color: #f7f7f3 !important;\n}\ntable th {\n padding: 0 10px 10px !important;\n text-align: left !important;\n}\ntable td {\n padding: 10px !important;\n}\ntable tr {\n border-bottom: 1px dotted #AEADAD !important;\n}\n\n::selection {\n background: #FFF5B8 !important;\n color: #000 !important;\n display: block !important; }\n\n::-moz-selection {\n background: #FFF5B8 !important;\n color: #000 !important;\n display: block !important; }\n\n\n.hidden {\n text-indent: -9999px !important;\n visibility: hidden !important;\n display: none !important; }\n\n.clearfix:after {\n content: \"\" !important;\n display: table !important;\n clear: both !important; }\n\ncode {\nbackground:transparent !important;\nborder:none !important;\n}\n\n\n\n\n---\n/*Title*/\n\n---\n.tc-titlebar h2.tc-title {\n\tfont-size: 52px;\n\tdisplay: block;\n\tfont-weight: 700;\n\tmargin: 15px 0;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\tcolor: #424242;\n\tfill: #424242 !important;\n\tword-wrap: break-word;\n\tfont-family: \"Open Sans\", arial, sans-serif;\n\tmargin-block-start: 1em;\n\tmargin-block-end: 1em;\n\tline-height: 1.2;\n\tmargin-bottom: 10px;\n}\n.titleclass {\n\tfont-size: 52px;\n\tdisplay: block;\n\tfont-weight: 700;\n\tmargin: 15px 0;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\tcolor: #424242;\n\tfill: #424242 !important;\n\tword-wrap: break-word;\n\tfont-family: \"Open Sans\", arial, sans-serif;\n\tmargin-block-start: 1em;\n\tmargin-block-end: 1em;\n\tline-height: 1.2;\n\tmargin-bottom: 10px;\n}\n\n.tc-tiddler-title::after {\n\tborder-bottom: 1px dotted #303030;\n\tcontent: \"\";\n\tdisplay: block;\n\tmargin: 30px auto 0;\n\twidth: 100px;\n}\n\ndiv.tc-tagged-interface h2.tc-title, div.tc-tagged-interface div.tc-subtitle, div.tc-tagged-interface div.tc-tags-wrapper {display:none;}\n\n@media only screen and (max-width: 768px) {\n.tc-titlebar h2.tc-title {font-size: 28px;font-size:{{$:/themes/ghostwriter/user/mobile!!titlesize}}; margin-top: 40px !important;}\n.tc-site-title, .tc-titlebar{font-size:2em !important;}\n.titleclass {font-size: 28px !important; margin-top: 40px !important;}\n}\n\ntc-tagged-Interface .tc-title {display:none;}\n\n\n/* Subtitle */\n\ndiv.tc-tiddler-frame .tc-subtitle {\n\tcolor: #AEADAD;\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tline-height: 1;\n\tmargin: 25px auto 0;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\tdisplay: block;\n\tmargin-block-start: 1em;\n\tmargin-block-end: 1em;\n\tpadding-bottom: 25px;\n}\n.tc-subtitle>a{\ndisplay:none !important;\n}\n\n<$reveal type=nomatch state=\"$:/status/UserName\" text=\"\">\n.tc-subtitle:after{\ncontent: \"BY: {{$:/status/UserName}}\";\nfont-weight:700;\n}\n</$reveal>\n\n\n/* Body */\n\ndiv.tc-tiddler-frame > .tc-tiddler-body {\n\tmargin: 0 auto;\n\tposition: relative;\n\twidth: 100%;\n\tmax-width: 810px;\n\tborder-top: 6px solid #303030;\n\tpadding-top: 50px;\n}\n@media only screen and (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\ndiv.tc-tiddler-frame > .tc-tiddler-body {\n font-size: {{$:/themes/ghostwriter/user/mobile!!fontsize}};\n }\n}\n\n/* Tags */\n\nbutton.tc-tag-label, span.tc-tag-label {\nfont-size:14px !important;\nline-height: normal !important;\nbackground: transparent !important;\ntext-decoration: none !important;\ncolor:#666 !important;\n}\n\n/* The tags in the viewTemplate has inbuilt style. Hence the use to 'important' to overcome that*/\ndiv.tc-tiddler-frame > div.tc-reveal >div.tc-tags-wrapper >span.tc-tag-list-item> button {\ncolor: {{!!theme_color}} !important;\n}\n\n\n.tc-edit-tags .tc-tiddlylink.tc-tiddlylink-missing:hover, .tc-edit-tags .tc-tiddlylink.tc-tiddlylink-resolves:hover, .tc-edit-tags .tc-tiddlylink.tc-tiddlylink-shadow:hover {\n border-bottom: none !important;\npadding: 4px 14px 4px 14px !important;\n}\n\n/* Links */\n\n.tc-body a:hover {\n border-bottom: 1px dotted {{!!theme_color}};\n }\n\n.tc-body a.tc-tiddlylink-missing {\n\tfont-style: normal !important;\n\tcolor: #237095 !important;\n}\na.tc-tiddlylink-missing:hover, button.tc-tiddlylink:hover, a.tc-tiddlylink:hover {\n text-decoration: none !important;\n border-bottom: 1px dotted {{!!theme_color}} !important;\n}\na.tc-tiddlylink-external {\n\ttext-decoration: none !important;\n\tcolor: #3C2BB1 !important;\n\tbackground-color: inherit !important;\n}\na.tc-tiddlylink-external:hover {\n border-bottom: 1px dotted {{!!theme_color}} !important;\n}\n\n.tc-tag-list-item > span > div.tc-menu-list-item > a:hover {\nborder-bottom: none !important;\npadding: 0 14px 0 14px !important;\n}\n\ntc-block-dropdown tc-search-drop-down tc-popup-handle {\nborder-bottom: none !important;\npadding:initial !important;\n}\n\ndiv.tc-menu-list-item > a:hover {\nborder-bottom:none !important;\n}\n\n\n/* Tag Drop Down */\n\n.tc-edit-tags .tc-block-dropdown{\n position: absolute !important;\n min-width: 220px !important;\n background-color: #FEFEFE !important;\n white-space: nowrap !important;\n z-index: 1000 !important;\n text-shadow: none !important;\n color: #606060 !important;\n font-family: gotham, helvetica, arial, sans-serif !important;\n font-size: 13px ;\n font-weight: 500 !important;\n right: 70% !important;\n padding: 15px 7px !important;\n border: 3px solid rgba(217, 217, 217, .4) !important;\n border-top: 1px solid rgba(217, 217, 217, .4) !important;\n border-left: 1px solid rgba(217, 217, 217, .4) !important;\n margin: 1rem !important;\n margin-top: 4px !important;\n text-overflow: ellipsis !important;\n box-shadow: 0 6px 20px rgba(0, 0, 0, .04), -6px 8px 15px rgba(0, 0, 0, .04), 6px 8px 15px rgba(0, 0, 0, .04) !important;\n}\n\n---\n/* Site Header */\n\n---\n\n.site-header {\n padding: 60px 0 0 !important;\n overflow: auto !important;\n text-align: center !important;\n text-transform: uppercase !important;\n}\n.site-title-wrapper {\n display: table !important;\n margin: 0 auto !important;\n}\n.site-title {\n float: left !important;\n font-size: 14px !important;\n font-weight: 600 !important;\n margin: 0 !important;\n text-transform: uppercase !important;\n}\n.site-title a {\n\tfloat: left !important;\n\tbackground: #f03838 !important;\n\tcolor: #FEFEFE !important;\n\tpadding: 8px 10px 8px !important;\n\tfont-weight: normal;\n\t-webkit-user-select: inherit;\n}\n.site-title a:hover {\n background: #303030 !important;\n border-bottom: none !important;\n}\n.site-logo {\n display: block !important;\n}\n.site-logo img {\n margin: 0 !important;\n}\n.site-nav {\n list-style: none !important;\n margin: 28px 0 10px !important;\n}\n\n.site-nav-item {\n display: inline-block !important;\n font-size: 14px !important;\n font-weight: 700 !important;\n margin: 0 10px !important;\n text-transform: uppercase !important;\n color: {{!!theme_color}} !important;\n text-decoration: none !important;\n padding-right: 15px !important;\n font-family: \"Open Sans\", arial, sans-serif !important;\n line-height: 1.8 !important;\n text-align: center !important;\n}\n.site-nav-item:hover {\n color: #424242 !important;\n}\n\n---\n/* Site Subtitle */\n\n---\n\n.subtitleclass {\nfont-family:{{!!sitesubtitlefont}};\ncolor:#f03838;\ntext-transform: none;\nfont-size:{{!!sitesubtitlefontsize}};\n}\n\n\n\n---\n/* Table of Contents */\n\n---\n\n\n.post-stub-title {\ndisplay: inline-block;\nmargin: 0 !important;\ntext-transform: none !important;\nfont-size: 16px !important;\n}\n\n.post-index{\nmargin: 0 auto !important;\nposition: relative !important;\nwidth: 100% !important;\nmax-width: 889px !important;\n}\n\n.post-index ol {\nlist-style: none !important;\ndisplay: block !important;\nmargin-block-start: 1em !important;\nmargin-block-end: 1em !important;\n\n}\n.post-index li li a {\nfont-weight: 900 !important;\npadding-inline-start: 5px !important;\nmargin: 0 0 0 !important;\npadding: 0 0 0 25px !important;\ntransition: all 0.2s ease-in-out !important;\n}\n\n.post-index li li a:hover{\npadding: 20px 12px !important;\n}\n\n@media only screen and (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.post-index li li a {padding: 0 !important;}\n.post-index li li a:hover {padding: 0 !important;}\n}\n.post-stub {\ncolor: #424242 !important;\nfont-family: \"Open Sans\", arial, sans-serif !important;\nfont-size: 18px !important;\nline-height: 1.8 !important;\ndisplay: list-item !important;\ntext-align: match-parent !important;\nborder-bottom: 1px dotted #303030 !important;\nmargin: 0 !important;\nposition: relative !important;\npadding: 20px 5px !important;\n}\n\n@media only screen and (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.post-stub {font-size: 15px !important;line-height: 1.5 !important;}\n.post-stub .tc-btn-invisible {padding: 0 25px 0 0;}\n.post-stub-date {display:none;}\n.post-stub-title {display: inline;}\n.post-stub button svg.tc-image-right-arrow {\n\theight: 1.5em;\n\twidth: 1.5em;\n\tbackground: #fea;\n\tborder-radius: 50%;\n\tpadding: 3px;}\n}\n\n.post-stub a {\n color: #424242 !important;\npadding-inline-start: 10px !important;\nmargin: 80px 40px 0 !important;\npadding: 35px 0 0 !important;\n}\n\n@media only screen and (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.post-stub a {margin: 0 !important;}\n}\n.post-stub a:hover{\ncolor:{{!!theme_color}} !important;\noutline: 0 !important;\nborder-bottom:none !important;\n}\n\n\n---\n/*Theme Sake */\n\n---\n\n.tc-tiddler-frame {\n padding: 0 42px 42px 42px !important;\n}\n\n@media only screen and (max-width: 768px) {\n.tc-tiddler-frame {\n padding: 0 10px 10px 10px !important;\n}\n.tc-story-river {\npadding: 20px !important;\nwidth: 100% !important;\n}\n}\n\n@media (max-width: 960px) {\n.tc-story-river {position:fixed}\n}\n\n---\n/*GENERIC*/\n\n---\n\n.tc-control-panel textarea,\n .tc-control-panel input[type=\"text\"],\n .tc-control-panel input[type=\"search\"],\n .tc-control-panel input[type=\"\"],\n .tc-control-panel input:not([type]),\n .tc-edit-field-value input[type=\"text\"],\n .tc-type-selector input[type=\"text\"] {\n border: 1px solid #c4c4c4 !important;\n }\n\n\n .tc-block-dropdown {\n border-radius: 4px !important;\n }\n\n\n .tc-block-dropdown a:hover {\n background-color: #f0e68c !important;\n }\n\n\n .tc-drop-down {\n color: #606060 !important;\n font-family: gotham, helvetica, arial, sans-serif !important;\n font-size: 13px;\n font-weight: 500 !important;\n position: relative;\n right: 70% !important;\n padding: 15px 7px !important;\n border-radius: 2px !important;\n border: 3px solid rgba(217, 217, 217, .4) !important;\n border-top: 1px solid rgba(217, 217, 217, .4) !important;\n border-left: 1px solid rgba(217, 217, 217, .4) !important;\n margin: 1rem !important;\n margin-top: 4px !important;\n min-width: calc(100% + 100px) !important;\n width: -moz-fit-content !important;\n overflow: visible !important;\n text-overflow: ellipsis !important;\n box-shadow: 0 6px 20px rgba(0, 0, 0, .04), -6px 8px 15px rgba(0, 0, 0, .04), 6px 8px 15px rgba(0, 0, 0, .04) !important;\n }\n\n\n .tc-drop-down a:hover,\n .tc-drop-down button:hover,\n .tc-drop-down .tc-file-input-wrapper:hover button {\n color: #444 !important;\n background-color: #f0e68c !important;\n text-decoration: none !important;\n }\n\n\n .tc-titlebar .tc-drop-down {\n min-width: calc(100% + 30px) !important;\n }\n\n\n .tc-password-wrapper {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) !important;\n background-color: #fbfcFe !important;\n border: 1px solid rgb(225, 225, 225) !important;\n box-shadow: 0 6px 20px rgba(0, 0, 0, .04), -6px 8px 15px rgba(0, 0, 0, .04), 6px 8px 15px rgba(0, 0, 0, .04) !important;\n height: 300px !important;\n width: 300px !important;\n }\n\n\n .tc-password-wrapper input {\n width: 100% !important;\n color: #000 !important;\n border: 1px solid rgb(225, 225, 225) !important;\n padding: 5px !important;\n margin-bottom: 5px !important;\n }\n\n .tc-password-wrapper button {\n width: 100% !important;\n border-radius: 5px !important;\n text-decoration: none !important;\n color: #fff !important;\n background-color: #26a69a !important;\n text-align: center !important;\n letter-spacing: .5px !important;\n transition: .2s ease-out !important;\n cursor: pointer !important;\n border: none !important;\n padding: 5px !important;\n margin-bottom: 5px !important;\n }\n\n .tc-password-wrapper h1 {\n color: #666 !important;\n font-size: 13px;\n text-transform: uppercase !important;\n text-align: center !important;\n }\n\n hr {\n color: #ececec;\n }\n\n .tg td {\n font-size: 13.5px !important;\n overflow: hidden !important;\n padding: .3em !important;\n word-break: normal !important;\n border-width: 0 !important;\n }\n\n tr:nth-child(even) {\n width: 100% !important;\n background-color: #f6f3f6 !important;\n }\n\n\n---\n /* TIDDLER TOOLBAR */\n\n---\n<$reveal type=\"nomatch\" state=\"$:/themes/ghostwriter/transparencystate\" text=\"none\">\n\n @media only screen and (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n .tc-tiddler-view-frame .tc-tiddler-controls svg {\n fill: transparent;\n }\n</$reveal>\n<$reveal type=\"match\" state=\"$:/themes/ghostwriter/transparencystate\" text=\"close\">\n .tc-tiddler-view-frame .tc-tiddler-controls svg.tc-image-close-button {fill: #cccccc;}\n</$reveal>\n .tc-tiddler-view-frame .tc-tiddler-controls:hover svg,\n .tc-tiddler-view-frame .tc-tiddler-controls .tc-popup svg {\n fill: #cccccc;\n }\n}\n\n---\n /* BUTTON ANIMATION */\n\n---\n \n .tc-page-controls svg,\n .tc-tiddler-controls svg,\n .tc-topbar button svg,\n .tc-sidebar-scrollable {\n -webkit-transition: fill 200ms ease-in-out;\n -moz-transition: fill 200ms ease-in-out;\n transition: fill 200ms ease-in-out;\n }\n\n---\n /** * Notification */\n\n---\n \n .tc-notification {\n position: fixed !important;\n top: 35px !important;\n right: 50px !important;\n z-index: 1300 !important;\n width: 300px !important;\n height: 50px !important;\n background-color: #FABF67 !important;\n border: none !important;\n color: black !important;\n text-align: center !important;\n line-height: normal !important;\n padding-top: 10px !important;\n }\n\n---\n /** Search **/\n\n---\n \n input[type='search'] {\n -webkit-transition: border .1s;\n transition: border .1s;\n position: relative;\n background-color: transparent;\n border: 1px solid;\n border-radius: 2px;\n border-color: #e1e1e1;\n padding: 10px 40px 9px 8px;\n margin: 0;\n outline: none;\n box-sizing: border-box;\n width: 100%;\n }\n\n input[type='search']:focus,\n input[type='search'].focus {\n border-color: #c1c1c1;\n }\n\n\n---\n/*Sidebar*/\n\n--- \n\n.tc-sidebar-lists button {\n color: {{!!theme_color}};\n fill: {{!!theme_color}};\n}\n.tc-sidebar-lists .tc-tab-buttons button {\n display: inline-block !important;\n font-size: 14px !important;\n font-weight: 700 !important;\n margin: 0 10px !important;\n text-transform: uppercase;\n color: {{!!theme_color}} !important ;\n text-decoration: none !important;\n padding-right: 15px !important;\n font-family: \"Open Sans\", arial, sans-serif !important;\n line-height: 1.8 !important;\n text-align: center !important;\n padding: 0 !important;\n background: none !important;\n border: none !important;\n}\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n background-color: transparent !important;\n border-left: none !important;\n border-top: none !important;\n border-right: none !important;\n color: #666 !important;\n}\n\n.tc-sidebar-lists .tc-search .tc-popup-handle {\n width: 60%;\n}\n.tc-sidebar-lists .tc-tab-set .tc-tab-content .tc-reveal button {\n border: none;\n outline: none;\n background: transparent;\n color: #666;\n fill: #666;\n}\n.tc-sidebar-lists .tc-tab-set .tc-tab-content .tc-reveal .tc-more-sidebar .tc-tab-set .tc-tab-buttons button.tc-tab-selected {\n color: blue;\n fill: blue;\n}\n.tc-sidebar-lists .tc-tab-content i.tc-muted {\n display: none;\n}\n\n/* Search drop down of Sidebar */\n\n.tc-sidebar-lists .tc-search-drop-down a.tc-tiddlylink:hover{\npadding: 0px 10px 0px 10px;\n}\n\n\n---\n/* Media Queries */\n\n---\n\n\n\n@media only screen and (max-width: 600px) {\n h1, h2 {\n margin-bottom: 20px; }\n\n p {\n margin-bottom: 20px; }\n\n ul, ol {\n margin-bottom: 20px; }\n\n img {\n margin: 30px 0; }\n\n blockquote {\n margin: 30px 0; }\n\n pre {\n margin: 30px 0; }\n\n hr {\n margin: 35px 0; }\n\n .site-header {\n padding-top: 60px; }\n\n .site-nav-item {\n display: block;\n margin: 15px 0; }\n\n}\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/themes/ghostwriter/stylesheet/main",
"theme_color": "#f03838",
"tags": "$:/tags/Stylesheet $:/irreverent-mudblood/ghostwriter",
"sitesubtitlefontsize": "16px",
"sitesubtitlefont": "Parisienne, monospace",
"revision": "0",
"modifier": "Riz",
"modified": "20161202041846264",
"creator": "venomspinner",
"created": "20161028105046905",
"bag": "default"
},
"$:/themes/ghostwriter/Topbar": {
"text": "<$reveal state=\"$:/themes/ghostwriter/user/topbarhide\" type=\"nomatch\" text=\"hide\">\n <header class=\"site-header\" style=\"text-align:center;\">\n <div class=\"container\">\n <div class=\"site-title-wrapper\">\n <h1 class=\"site-title\"><a href=\"#\">{{$:/SiteTitle}}</a></h1>\n </div>\n\n <div class=\"site-nav\">\n<$reveal state=\"$:/themes/ghostwriter/user/homehide\" type=\"nomatch\" text=\"hide\"><$button class=\"site-nav-item tc-btn-invisible\" message=\"tm-home\">HOME</$button></$reveal>\n<$reveal state=\"$:/themes/ghostwriter/user/contenthide\" type=\"nomatch\" text=\"hide\"><$button to=\"$:/TableOfContents\" class=\"site-nav-item tc-btn-invisible\">Contents</$button></$reveal>\n<$reveal state=\"$:/themes/ghostwriter/user/abouthide\" type=\"nomatch\" text=\"hide\"><$button to=\"$:/About\" class=\"site-nav-item tc-btn-invisible\">About</$button></$reveal>\n<$list filter=\"[![$:/themes/ghostwriter/topbarbtntemplate]tag[$:/themes/ghostwriter/user/topbarbutton]]\"><$transclude/></$list>\n </div>\n </div>\n </header></$reveal>",
"type": "text/vnd.tiddlywiki",
"title": "$:/themes/ghostwriter/Topbar",
"tags": "$:/tags/AboveStory $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modifier": "venomspinner",
"modified": "20161110053524450",
"creator": "venomspinner",
"created": "20161028092007386",
"bag": "default"
},
"$:/TableOfContents": {
"text": "<div class=\"titleclass\"> Table of Contents </div>\n\n<div class=\"post-index\">\n<<tocghost-selective-expandable \"TableOfContents\"\"!sort[modified]\">>\n</div>",
"title": "$:/TableOfContents",
"tags": "$:/irreverent-mudblood/ghostwriter interface",
"modified": "20161110070238232",
"list": "",
"created": "20161109082528301"
},
"$:/themes/ghostwriter/options": {
"created": "20161101103541902",
"creator": "Riz",
"text": "!!Palette\n|Color theme|<$edit-text tiddler=\"$:/themes/ghostwriter/stylesheet/main\" type=\"color\" tag=\"input\" field=\"theme_color\"/><br><$edit-text tiddler=\"$:/themes/ghostwriter/stylesheet/main\" field=\"theme_color\"/>|\n|Color of the Sidebar Show/Hide Button|<$edit-text tiddler=\"$:/irreverent-mudblood/overlay-sidebar/stylesheet\" field=\"roundbtnbg\" type=\"color\" tag=\"input\"/><br><$edit-text tiddler=\"$:/irreverent-mudblood/overlay-sidebar/stylesheet\" field=\"roundbtnbg\"/>|\n\n!!Edit Toolbar\n|Transparency of Edit Toolbar Buttons |<$select tiddler='$:/themes/ghostwriter/transparencystate'><option value='all'>''All'' </option><option value='close'>All ''except close button''</option><option value='none'>None</option></$select>|\n\n!!Topbar and Pagination\n|Show/Hide Topbar | <span style=\"float:left;\"> <$reveal state=\"$:/themes/ghostwriter/user/topbarhide\" type=\"nomatch\" text=\"hide\"><$button>Hide Topbar<$action-setfield $tiddler=\"$:/themes/ghostwriter/user/topbarhide\" text=\"hide\"/></$button></$reveal><$reveal state=\"$:/themes/ghostwriter/user/topbarhide\" type=\"match\" text=\"hide\"><$button>Show Topbar<$action-setfield $tiddler=\"$:/themes/ghostwriter/user/topbarhide\" text=\"show\"/></$button></$reveal></span>|\n|Add a Top-bar Button|<$button><$action-sendmessage $message=\"tm-new-tiddler\" title=\"New Site Nav Item\" tags=\"$:/themes/ghostwriter/user/topbarbutton\" text={{$:/themes/ghostwriter/topbarbtntemplate}}/>New Top Bar Button</$button>|\n|Show / Hide Default Top-bar Button |<span style=\"float:left;\"> <$checkbox class=\"autowidthinput\" tiddler=\"$:/themes/ghostwriter/user/homehide\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> Home</$checkbox> <$checkbox class=\"autowidthinput\" tiddler=\"$:/themes/ghostwriter/user/contenthide\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> Content</$checkbox> <$checkbox class=\"autowidthinput\" tiddler=\"$:/themes/ghostwriter/user/abouthide\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> About</$checkbox></span>|\n|Pagination|<$checkbox class=\"autowidthinput\" tiddler=\"$:/themes/ghostwriter/pagination\" tag=\"$:/tags/BelowStory\"> Display</$checkbox>|\n\n!!Mobile\n|Font Size|^<$edit-text tiddler=\"$:/themes/ghostwriter/user/mobile\" field=\"fontsize\" default=\"\" tag=\"input\"/> |\n|Title Size|^<$edit-text tiddler=\"$:/themes/ghostwriter/user/mobile\" field=\"titlesize\" default=\"28px\" tag=\"input\"/> |\n\n<$button class=\"tc-btn-big-green\" style=\"background-color:#e52d27;width:100%;font-size:14px;\">Remove Ghostwriter\n<$action-deletetiddler $filter=\"[prefix[$:/themes/ghostwriter/user/]]\"/>\n<$action-sendmessage $message=\"tm-delete-tiddler\" $param=\"$:/plugins/venomspinner/ghostwriter\"/>\n</$button>",
"title": "$:/themes/ghostwriter/options",
"tags": "$:/tags/ControlPanel/Appearance $:/irreverent-mudblood/ghostwriter",
"modified": "20161202053044155",
"caption": "Ghostwriter",
"modifier": "Riz"
},
"$:/themes/ghostwriter/transparencystate": {
"text": "close",
"title": "$:/themes/ghostwriter/transparencystate",
"tags": "$:/irreverent-mudblood/ghostwriter",
"modified": "20161110021504405",
"created": "20161109115418648"
},
"$:/palettes/Vanilla": {
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #FEFEFE\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #fefefe\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: \ntag-foreground: #f03838\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888",
"type": "application/x-tiddler-dictionary",
"title": "$:/palettes/Vanilla",
"tags": "$:/tags/Palette $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"name": "Vanilla",
"modifier": "venomspinner",
"modified": "20161031174446260",
"description": "Pale and unobtrusive",
"creator": "venomspinner",
"created": "20161028065018599",
"bag": "default"
},
"$:/themes/ghostwriter/tocghostMacro": {
"text": "\\define tocghost-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<span class=\"post-stub-title\"><$view field=\"title\"/></span>\n</$transclude>\n<$transclude field=\"caption\">\n <span class=\"post-stub-date\">/ Published <$view field=\"created\" format=\"date\" template=\"DDth MMM YYYY\"/></span>\n</$transclude>\n</$set>\n\\end\n\n\\define tocghost-body(rootTag,tag,sort:\"\")\n<ol class=\"post-list\">\n<$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\"\"\">\n<li class=\"post-stub\">\n<$list filter=\"[all[current]tocghost-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n<<tocghost-caption>>\n</$list>\n<$list filter=\"\"\"[all[current]] -[[$rootTag$]]\"\"\">\n<$macrocall $name=\"tocghost-body\" rootTag=\"\"\"$rootTag$\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$list>\n</li>\n</$set>\n</$list>\n</ol>\n\\end\n\n\n\\define tocghost-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"tocghost-state\" value=<<qualify \"\"\"$:/state/tocghost/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"tocghost-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"tocghost-item-selected\" emptyValue=\"tocghost-item\">\n<li class=\"post-stub\">\n<$link>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n<$reveal type=\"nomatch\" state=<<tocghost-state>> text=\"open\">\n<$button set=<<tocghost-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tocghost-state>> text=\"open\">\n<$button set=<<tocghost-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</$list>\n<<tocghost-caption>>\n</$link>\n<$reveal type=\"match\" state=<<tocghost-state>> text=\"open\">\n<$macrocall $name=\"tocghost-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define tocghost-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"tocghost-state\" value=<<qualify \"\"\"$:/state/tocghost/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"tocghost-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"tocghost-item-selected\" emptyValue=\"tocghost-item\">\n<li class=\"post-stub\">\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n<$reveal type=\"nomatch\" state=<<tocghost-state>> text=\"open\">\n<$button set=<<tocghost-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<tocghost-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tocghost-state>> text=\"open\">\n<$button set=<<tocghost-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<tocghost-caption>>\n</$button>\n</$reveal>\n</$list>\n<$reveal type=\"match\" state=<<tocghost-state>> text=\"open\">\n<$macrocall $name=\"\"\"tocghost-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define tocghost-selective-expandable-empty-message()\n<<tocghost-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\">>\n\\end\n\n\\define tocghost-selective-expandable(tag,sort:\"\",itemClassFilter)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\">\n<ol class=\"post-list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]tocghost-link[no]]\" variable=\"ignore\" emptyMessage=<<tocghost-selective-expandable-empty-message>>>\n<<tocghost-unlinked-selective-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n</$list>\n</$list>\n</ol>\n</$vars>\n\\end\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/themes/ghostwriter/tocghostMacro",
"tags": "$:/tags/Macro $:/irreverent-mudblood/ghostwriter",
"revision": "0",
"modified": "20161110084617042",
"created": "20161031140339462",
"bag": "default"
},
"$:/themes/ghostwriter/Acknowledgements": {
"created": "20161109145142879",
"text": "This is an adaptation of the ''Ghostwriter'' Blog Theme by ''Rory Gibson'' at https://github.com/roryg/ghostwriter for the TW5 platform. All the creative and design credits belong to him. It is a heavily popular and free theme for the ghost blogging platform. \n\nThis is a ''mobile responsive'', minimalist theme. The stylesheets are seperated out so that you can tweak to your likes. Some of the classes are redundant, I will get around to them //as and when possible//. \n\nThe other person I must furnish credits to is ''Zaphod Beeblebrox ''for the tip that enabled custom backgrounds for sidebar. Later I injected z-index to the same and found that it can be made to overlay the storyriver, which I found a neater alternative to pushing the content to a side. The stylesheet for displaying tiddler controls should be credited to ''Tobias Beer''. \n\nKudos to the group, especially Jan and Josiah, for their inputs and encouragement. I have tried to include most of the suggestions that came by. Be not shy to tell me about yours\n\nFinally, the obligatory note of thanks to'' Jeremy Ruston''",
"title": "$:/themes/ghostwriter/Acknowledgements",
"tags": "$:/irreverent-mudblood/ghostwriter",
"modified": "20161110105943157"
},
"$:/themes/ghostwriter/topbarbtntemplate": {
"created": "20161110024930642",
"text": "<$button class=\"site-nav-item tc-btn-invisible\">\n\n</$button>",
"title": "$:/themes/ghostwriter/topbarbtntemplate",
"modified": "20161110031122949",
"tags": "$:/irreverent-mudblood/ghostwriter"
},
"$:/themes/ghostwriter/pagination": {
"created": "20161202043138190",
"creator": "Riz",
"text": "\\define paginate(discard:3)\n<a><$button class=\"tc-btn-invisible pages\">\n<$action-listops $tiddler=\"$:/StoryList\" $field=\"list\" $filter=\"[!is[system]!is[missing]!sort[modified]rest[$discard$]limit[3]]\"/>\n<$list variable='Target' filter=\"[!is[system]!is[missing]!sort[modified]rest[$discard$]limit[3]first[]]\"><$action-navigate $to=<<Target>>/></$list></$button></a>\n\\end\n<style>\n.emm-paginate {\ncounter-reset: paginate;\ntext-align: center;\n}\n.emm-paginate a:hover {\nborder-bottom:none;\ncolor:#fff;\n\n}\n.tc-btn-invisible.pages {\n\tborder: 1px solid #c1c1c1;\n\tpadding: 4px 8px;\n}\n.tc-btn-invisible.pages:hover {\nbackground:#a1a1a1;\n}\nbutton.pages::after {\n counter-increment: paginate;\n content: counter(paginate) ;\n}\n</style>\n\n<div class=\"emm-paginate\">\n<a><$button class=\"tc-btn-invisible pages\">\n<$action-listops $tiddler=\"$:/StoryList\" $field=\"list\" $filter=\"[!is[system]!is[missing]!sort[modified]limit[3]]\"/>\n<$list variable='Target' filter=\"[!is[system]!is[missing]!sort[modified]limit[3]first[]]\"><$action-navigate $to=<<Target>>/></$list></$button></a>\n<<paginate 3>>\n<<paginate 6>>\n<<paginate 9>>\n<<paginate 12>>\n</div>",
"title": "$:/themes/ghostwriter/pagination",
"tags": "$:/tags/BelowStory",
"modified": "20161202050759321",
"modifier": "Riz"
}
}
}
$:/core/ui/ControlPanel/Theme
$:/core/ui/ControlPanel/Basics
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/MoreSideBar/Plugins/Plugins
$:/core/ui/ControlPanel/EditorTypes
$:/core/ui/ControlPanel/Plugins/Add/Plugins
$:/core/ui/ControlPanel/Info
$:/core/ui/ControlPanel/Saving/General
$:/core/ui/MoreSideBar/System
$:/core/ui/ControlPanel/Toolbars/ViewToolbar
$:/core/modules/parsers/wikiparser/rules/wikilink.js
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "yes"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "no"
},
"$:/info/url/full": {
"title": "$:/info/url/full",
"text": "http://www.bolebook.com/technology/python/learnpythonwithlxf.html"
},
"$:/info/url/host": {
"title": "$:/info/url/host",
"text": "www.bolebook.com"
},
"$:/info/url/hostname": {
"title": "$:/info/url/hostname",
"text": "www.bolebook.com"
},
"$:/info/url/protocol": {
"title": "$:/info/url/protocol",
"text": "http:"
},
"$:/info/url/port": {
"title": "$:/info/url/port",
"text": ""
},
"$:/info/url/pathname": {
"title": "$:/info/url/pathname",
"text": "/technology/python/learnpythonwithlxf.html"
},
"$:/info/url/search": {
"title": "$:/info/url/search",
"text": ""
},
"$:/info/url/origin": {
"title": "$:/info/url/origin",
"text": "http://www.bolebook.com"
}
}
}
$:/themes/tiddlywiki/vanilla
{
"tiddlers": {
"$:/themes/tiddlywiki/snowwhite/base": {
"title": "$:/themes/tiddlywiki/snowwhite/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n cursor: pointer;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour tag-foreground>>;\n\tvertical-align: text-bottom;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down-language-chooser img {\n\twidth: 2em;\n\tvertical-align: baseline;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-plugin-info-chunk h1 {\n\tfont-size: 1em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk h2 {\n\tfont-size: 0.8em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk div {\n\tfont-size: 0.7em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 1em 1em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder: 1px solid <<colour table-border>>;\n}\n\n.tc-chooser-item {\n\tborder: 8px;\n\tpadding: 2px 4px;\n}\n\n.tc-chooser-item a.tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-foreground>>;\n\tbackground-color: <<colour tiddler-link-background>>;\n}\n\n.tc-chooser-item a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
"text": "350px"
},
"$:/themes/tiddlywiki/vanilla/options/stickytitles": {
"title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
"text": "no"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"text": "fixed-fluid"
},
"$:/themes/tiddlywiki/vanilla/options/codewrapping": {
"title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
"text": "pre-wrap"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", \"DejaVu Sans\", sans-serif"
},
"$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
"text": "Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
"text": "fixed"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
"text": "auto"
},
"$:/themes/tiddlywiki/vanilla/sticky": {
"title": "$:/themes/tiddlywiki/vanilla/sticky",
"text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n``\n</$reveal>\n"
}
}
}
!安装第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。
如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。
如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe to Path。
在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行安装程序添加pip。
注意:Mac或Linux上有可能并存Python 3.x和Python 2.x,因此对应的pip命令是pip3。
例如,我们要安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库。不过,PIL目前只支持到Python 2.7,并且有年头没有更新了,因此,基于PIL的Pillow项目开发非常活跃,并且支持最新的Python 3。
一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow,因此,安装Pillow的命令就是:
```bash
pip install Pillow
```
耐心等待下载并安装后,就可以使用Pillow了。
且慢
!!安装常用模块
在使用Python时,我们经常需要用到很多第三方库,例如,上面提到的Pillow,以及MySQL驱动程序,Web框架Flask,科学计算Numpy等。用pip一个一个安装费时费力,还需要考虑兼容性。我们推荐直接使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。
可以从Anaconda官网下载GUI安装包,安装包有500~600M,所以需要耐心等待下载。网速慢的同学请移步国内镜像。下载后直接安装,Anaconda会把系统Path中的python指向自己自带的Python,并且,Anaconda安装的第三方模块会安装在Anaconda自己的路径下,不影响系统已安装的Python目录。
安装好Anaconda后,重新打开命令行窗口,输入python,可以看到Anaconda的信息:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.6.3 |Anaconda, Inc.| ... on win32 │
│Type "help", ... for more information. │
│>>> import numpy │
│>>> _ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
可以尝试直接import numpy等已安装的第三方模块。
!!模块搜索路径
当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错:
```bash
>>> import mymodule
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mymodule
```
默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:
```bash
>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', ..., '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
```
如果我们要添加自己的搜索目录,有两种方法:
一是直接修改sys.path,添加要搜索的目录:
```bash
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
```
这种方法是在运行时修改,运行结束后失效。
第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
!![[常用第三方模块]]
!安装Python
阅读: 1129476(截止20180830)
因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。
要开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。
!!安装Python 3.7
目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于3.x版越来越普及,我们的教程将以最新的Python 3.7版本为基础。请确保你的电脑上安装的Python版本是最新的3.7.x,这样,你才能无痛学习这个教程。
!!!在Mac上安装Python
如果你正在使用Mac,系统是OS X>=10.9,那么系统自带的Python版本是2.7。要安装最新的Python 3.7,有两个方法:
方法一:从Python官网下载Python 3.7的[[安装程序|https://www.python.org/ftp/python/3.7.0/python-3.7.0-macosx10.9.pkg]](网速慢的同学请移步[[国内镜像|https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fpython]]),双击运行并安装;
方法二:如果安装了Homebrew,直接通过命令`brew install python3`安装即可。
!!!在Linux上安装Python
如果你正在使用Linux,那我可以假定你有Linux系统管理经验,自行安装Python 3应该没有问题,否则,请换回Windows系统。
对于大量的目前仍在使用Windows的同学,如果短期内没有打算换Mac,就可以继续阅读以下内容。
!!!在Windows上安装Python
首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.7对应的64位安装程序或32位安装程序(网速慢的同学请移步[[国内镜像|https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fpython]]),然后,运行下载的EXE安装包:
[img[python3.png]]
特别要注意勾上`Add Python 3.7 to PATH`,然后点“Install Now”即可完成安装。
视频演示:
http://asklxf.coding.me/liaoxuefeng/v/python/install-py.mp4
!!!运行Python
安装成功后,打开命令提示符窗口,敲入python后,会出现两种情况:
情况一:
[img[python4.png]]
看到上面的画面,就说明Python安装成功!
你看到提示符>>>就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以)。
情况二:得到一个错误:
```
‘python’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
```
[img[python5.png]]
这是因为Windows会根据一个`Path`的环境变量设定的路径去查找`python.exe`,如果没找到,就会报错。如果在安装时漏掉了勾选Add `Python 3.7 to PATH`,那就要手动把python.exe所在的路径添加到Path中。
如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,务必记得勾上Add Python 3.7 to PATH。
视频演示:
http://asklxf.coding.me/liaoxuefeng/v/python/start-py.mp4
!!!小结
学会如何把Python安装到计算机中,并且熟练打开和退出Python交互式环境。
在Windows上运行Python时,请先启动命令行,然后运行python。
在Mac和Linux上运行Python时,请打开终端,然后运行python3。
关于编辑内容的几点说明(请点击编辑按钮看左栏内容):
!!1,不同段落之间要分行,正式显示出来的文本才不会混在一起。
!!2,一级标题的前方加一个 英文输入状态下的感叹号 ! 二级标题加两个!!,如下示范:
! 一级标题(前面的!是英文状态输入的)
!! 二级标题
!一级标题(错误示范,前面的!是中文状态输入的,无效)
!!关于创建链接
链接到内部文件: [[显示的内容是这样的|Home]]
也可以是这样的:[[Home]]
链接到网址:[[这样显示的|http://www.bolebook.com]]
英文状态下的[ [ , 还有]],内容中间用 | 竖线分隔开。
可以把上面的内容复制过去,然后修改 | 前后的内容。
图片链接的方法: [img[这个地方替换为图片网址链接]]
你可以在【工具】-【导入】这个地方导入你的图片,这样图片就会存在在文件里。
注:导入的图片请拼音命名,然后把文件名.jpg .jpeg填写到链接处。
示例(实在不会的话扫描联系我啊):
[img[yudade.jpg]]
!!操作文件和目录
如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。
如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。
打开Python交互式命令行,我们来看看如何使用os模块的基本功能:
```bash
>>> import os
>>> os.name # 操作系统类型
'posix'
```
如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。
要获取详细的系统信息,可以调用uname()函数:
```bash
>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='MichaelMacPro.local', release='14.3.0', version='Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64', machine='x86_64')
```
注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的。
!!环境变量
在操作系统中定义的环境变量,全部保存在os.environ这个变量中,可以直接查看:
```bash
>>> os.environ
environ({'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'TERM_PROGRAM_VERSION': '326', 'LOGNAME': 'michael', 'USER': 'michael', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/mysql/bin', ...})
```
要获取某个环境变量的值,可以调用os.environ.get('key'):
```bash
>>> os.environ.get('PATH')
'/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/mysql/bin'
>>> os.environ.get('x', 'default')
'default'
```
!!操作文件和目录
操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:
```bash
# 查看当前目录的绝对路径:
>>> os.path.abspath('.')
'/Users/michael'
# 在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:
>>> os.path.join('/Users/michael', 'testdir')
'/Users/michael/testdir'
# 然后创建一个目录:
>>> os.mkdir('/Users/michael/testdir')
# 删掉一个目录:
>>> os.rmdir('/Users/michael/testdir')
```
把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符。在Linux/Unix/Mac下,os.path.join()返回这样的字符串:
```
part-1/part-2
```
而Windows下会返回这样的字符串:
```
part-1\part-2```
```
同样的道理,要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
```bash
>>> os.path.split('/Users/michael/testdir/file.txt')
('/Users/michael/testdir', 'file.txt')
os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便:
>>> os.path.splitext('/path/to/file.txt')
('/path/to/file', '.txt')
```
这些合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作。
文件操作使用下面的函数。假定当前目录下有一个test.txt文件:
```bash
# 对文件重命名:
>>> os.rename('test.txt', 'test.py')
# 删掉文件:
>>> os.remove('test.py')
```
但是复制文件的函数居然在os模块中不存在!原因是复制文件并非由操作系统提供的系统调用。理论上讲,我们通过上一节的读写文件可以完成文件复制,只不过要多写很多代码。
幸运的是shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充。
最后看看如何利用Python的特性来过滤文件。比如我们要列出当前目录下的所有目录,只需要一行代码:
```bash
>>> [x for x in os.listdir('.') if os.path.isdir(x)]
['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]
```
要列出所有的.py文件,也只需一行代码:
```bash
>>> [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']
['apis.py', 'config.py', 'models.py', 'pymonitor.py', 'test_db.py', 'urls.py', 'wsgiapp.py']
```
是不是非常简洁?
!!小结
Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中。
!!练习
利用os模块编写一个能实现dir -l输出的程序。
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
!!参考源码
[[do_dir|https://github.com/michaelliao/learn-python3/blob/master/samples/io/do_dir.py]]
!常用第三方模块
除了内建的模块外,Python还有大量的第三方模块。
基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装。
此外,在安装第三方模块一节中,我们强烈推荐安装Anaconda,安装后,数十个常用的第三方模块就已经就绪,不用pip手动安装。
!!本章介绍常用的第三方模块。
[[Pillow]]
[[requests]]
[[chardet]]
[[psutil]]
[[virtualenv]]
[[图形界面]]
Python之所以自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用。
[[datetime]]
[[collections]]
[[base64]]
[[struct]]
[[hashlib]]
[[hmac]]
[[itertools]]
[[contextlib]]
[[urllib]]
[[XML]]
[[HTMLParser]]
!错误、调试和测试
在程序运行过程中,总会遇到各种各样的错误。
有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。
有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。
还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断掉了。这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。
Python内置了一套异常处理机制,来帮助我们进行错误处理。
此外,我们也需要跟踪程序的执行,查看变量的值是否正确,这个过程称为调试。Python的pdb可以让我们以单步方式执行代码。
最后,编写测试也很重要。有了良好的测试,就可以在程序修改后反复运行,确保程序输出符合我们编写的测试。
!!具体内容如下:
[[错误处理]]
[[调试]]
[[单元测试]]
[[文档测试]]
!错误处理
在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。
用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错:
```bash
def foo():
r = some_function()
if r==(-1):
return (-1)
# do something
return r
def bar():
r = foo()
if r==(-1):
print('Error')
else:
pass
```
一旦出错,还要一级一级上报,直到某个函数可以处理该错误(比如,给用户输出一个错误信息)。
所以高级语言通常都内置了一套try...except...finally...的错误处理机制,Python也不例外。
!!try
让我们用一个例子来看看try的机制:
```bash
try:
print('try...')
r = 10 / 0
print('result:', r)
except ZeroDivisionError as e:
print('except:', e)
finally:
print('finally...')
print('END')
```
当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。
上面的代码在计算10 / 0时会产生一个除法运算错误:
```bash
try...
except: division by zero
finally...
END
```
从输出可以看到,当错误发生时,后续语句print('result:', r)不会被执行,except由于捕获到ZeroDivisionError,因此被执行。最后,finally语句被执行。然后,程序继续按照流程往下走。
如果把除数0改成2,则执行结果如下:
```bash
try...
result: 5
finally...
END
```
由于没有错误发生,所以except语句块不会被执行,但是finally如果有,则一定会被执行(可以没有finally语句)。
你还可以猜测,错误应该有很多种类,如果发生了不同类型的错误,应该由不同的except语句块处理。没错,可以有多个except来捕获不同类型的错误:
```bash
try:
print('try...')
r = 10 / int('a')
print('result:', r)
except ValueError as e:
print('ValueError:', e)
except ZeroDivisionError as e:
print('ZeroDivisionError:', e)
finally:
print('finally...')
print('END')
```
int()函数可能会抛出ValueError,所以我们用一个except捕获ValueError,用另一个except捕获ZeroDivisionError。
此外,如果没有错误发生,可以在except语句块后面加一个else,当没有错误发生时,会自动执行else语句:
```bash
try:
print('try...')
r = 10 / int('2')
print('result:', r)
except ValueError as e:
print('ValueError:', e)
except ZeroDivisionError as e:
print('ZeroDivisionError:', e)
else:
print('no error!')
finally:
print('finally...')
print('END')
```
Python的错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except时需要注意的是,它不但捕获该类型的错误,还把其子类也“一网打尽”。比如:
```bash
try:
foo()
except ValueError as e:
print('ValueError')
except UnicodeError as e:
print('UnicodeError')
```
第二个except永远也捕获不到UnicodeError,因为UnicodeError是ValueError的子类,如果有,也被第一个except给捕获了。
Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系看这里:
https://docs.python.org/3/library/exceptions.html#exception-hierarchy
使用try...except捕获错误还有一个巨大的好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()出错了,这时,只要main()捕获到了,就可以处理:
```bash
def foo(s):
return 10 / int(s)
def bar(s):
return foo(s) * 2
def main():
try:
bar('0')
except Exception as e:
print('Error:', e)
finally:
print('finally...')
```
也就是说,不需要在每个可能出错的地方去捕获错误,只要在合适的层次去捕获错误就可以了。这样一来,就大大减少了写try...except...finally的麻烦。
!!调用栈
如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。来看看err.py:
```bash
# err.py:
def foo(s):
return 10 / int(s)
def bar(s):
return foo(s) * 2
def main():
bar('0')
main()
```
执行,结果如下:
```bash
$ python3 err.py
Traceback (most recent call last):
File "err.py", line 11, in <module>
main()
File "err.py", line 9, in main
bar('0')
File "err.py", line 6, in bar
return foo(s) * 2
File "err.py", line 3, in foo
return 10 / int(s)
ZeroDivisionError: division by zero
```
出错并不可怕,可怕的是不知道哪里出错了。解读错误信息是定位错误的关键。我们从上往下可以看到整个错误的调用函数链:
错误信息第1行:
```
Traceback (most recent call last):
```
告诉我们这是错误的跟踪信息。
第2~3行:
```
File "err.py", line 11, in <module>
main()
```
调用main()出错了,在代码文件err.py的第11行代码,但原因是第9行:
```
File "err.py", line 9, in main
bar('0')
```
调用bar('0')出错了,在代码文件err.py的第9行代码,但原因是第6行:
```
File "err.py", line 6, in bar
return foo(s) * 2
```
原因是return foo(s) * 2这个语句出错了,但这还不是最终原因,继续往下看:
```
File "err.py", line 3, in foo
return 10 / int(s)
```
原因是return 10 / int(s)这个语句出错了,这是错误产生的源头,因为下面打印了:
```
ZeroDivisionError: integer division or modulo by zero
```
根据错误类型ZeroDivisionError,我们判断,int(s)本身并没有出错,但是int(s)返回0,在计算10 / 0时出错,至此,找到错误源头。
出错的时候,一定要分析错误的调用栈信息,才能定位错误的位置。
谁教你提问不贴异常栈
!!记录错误
如果不捕获错误,自然可以让Python解释器来打印出错误堆栈,但程序也被结束了。既然我们能捕获错误,就可以把错误堆栈打印出来,然后分析错误原因,同时,让程序继续执行下去。
Python内置的logging模块可以非常容易地记录错误信息:
```bash
# err_logging.py
import logging
def foo(s):
return 10 / int(s)
def bar(s):
return foo(s) * 2
def main():
try:
bar('0')
except Exception as e:
logging.exception(e)
main()
print('END')
```
同样是出错,但程序打印完错误信息后会继续执行,并正常退出:
```bash
$ python3 err_logging.py
ERROR:root:division by zero
Traceback (most recent call last):
File "err_logging.py", line 13, in main
bar('0')
File "err_logging.py", line 9, in bar
return foo(s) * 2
File "err_logging.py", line 6, in foo
return 10 / int(s)
ZeroDivisionError: division by zero
END
```
通过配置,logging还可以把错误记录到日志文件里,方便事后排查。
!!抛出错误
因为错误是class,捕获一个错误就是捕获到该class的一个实例。因此,错误并不是凭空产生的,而是有意创建并抛出的。Python的内置函数会抛出很多类型的错误,我们自己编写的函数也可以抛出错误。
如果要抛出错误,首先根据需要,可以定义一个错误的class,选择好继承关系,然后,用raise语句抛出一个错误的实例:
```bash
# err_raise.py
class FooError(ValueError):
pass
def foo(s):
n = int(s)
if n==0:
raise FooError('invalid value: %s' % s)
return 10 / n
foo('0')
```
执行,可以最后跟踪到我们自己定义的错误:
```bash
$ python3 err_raise.py
Traceback (most recent call last):
File "err_throw.py", line 11, in <module>
foo('0')
File "err_throw.py", line 8, in foo
raise FooError('invalid value: %s' % s)
__main__.FooError: invalid value: 0
```
只有在必要的时候才定义我们自己的错误类型。如果可以选择Python已有的内置的错误类型(比如ValueError,TypeError),尽量使用Python内置的错误类型。
最后,我们来看另一种错误处理的方式:
```bash
# err_reraise.py
def foo(s):
n = int(s)
if n==0:
raise ValueError('invalid value: %s' % s)
return 10 / n
def bar():
try:
foo('0')
except ValueError as e:
print('ValueError!')
raise
bar()
```
在bar()函数中,我们明明已经捕获了错误,但是,打印一个ValueError!后,又把错误通过raise语句抛出去了,这不有病么?
其实这种错误处理方式不但没病,而且相当常见。捕获错误目的只是记录一下,便于后续追踪。但是,由于当前函数不知道应该怎么处理该错误,所以,最恰当的方式是继续往上抛,让顶层调用者去处理。好比一个员工处理不了一个问题时,就把问题抛给他的老板,如果他的老板也处理不了,就一直往上抛,最终会抛给CEO去处理。
raise语句如果不带参数,就会把当前错误原样抛出。此外,在except中raise一个Error,还可以把一种类型的错误转化成另一种类型:
```bash
try:
10 / 0
except ZeroDivisionError:
raise ValueError('input error!')
```
只要是合理的转换逻辑就可以,但是,决不应该把一个IOError转换成毫不相干的ValueError。
!!练习
运行下面的代码,根据异常信息进行分析,定位出错误源头,并修复:
```bash
# -*- coding: utf-8 -*-
from functools import reduce
def str2num(s):
return int(s)
def calc(exp):
ss = exp.split('+')
ns = map(str2num, ss)
return reduce(lambda acc, x: acc + x, ns)
def main():
r = calc('100 + 200 + 345')
print('100 + 200 + 345 =', r)
r = calc('99 + 88 + 7.6')
print('99 + 88 + 7.6 =', r)
main()
```
!!小结
Python内置的try...except...finally用来处理错误十分方便。出错时,会分析错误信息并定位错误发生的代码位置才是最关键的。
程序也可以主动抛出错误,让调用者来处理相应的错误。但是,应该在文档中写清楚可能会抛出哪些错误,以及错误产生的原因。
!!参考源码
[[do_try.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/do_try.py]]
[[err.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/err.py]]
[[err_logging.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/err_logging.py]]
[[err_raise.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/err_raise.py]]
[[err_reraise.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/err_reraise.py]]
!!代码运行助手
Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。
参考网址:廖雪峰个人网站 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432523496782e0946b0f454549c0888d05959b99860f000
!单元测试
如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。
单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。
比如对函数abs(),我们可以编写出以下几个测试用例:
输入正数,比如1、1.2、0.99,期待返回值与输入相同;
输入负数,比如-1、-1.2、-0.99,期待返回值与输入相反;
输入0,期待返回0;
输入非数值类型,比如None、[]、{},期待抛出TypeError。
把上面的测试用例放到一个测试模块里,就是一个完整的单元测试。
如果单元测试通过,说明我们测试的这个函数能够正常工作。如果单元测试不通过,要么函数有bug,要么测试条件输入不正确,总之,需要修复使单元测试能够通过。
单元测试通过后有什么意义呢?如果我们对abs()函数代码做了修改,只需要再跑一遍单元测试,如果通过,说明我们的修改不会对abs()函数原有的行为造成影响,如果测试不通过,说明我们的修改与原有行为不一致,要么修改代码,要么修改测试。
这种以测试为驱动的开发模式最大的好处就是确保一个程序模块的行为符合我们设计的测试用例。在将来修改的时候,可以极大程度地保证该模块行为仍然是正确的。
我们来编写一个Dict类,这个类的行为和dict一致,但是可以通过属性来访问,用起来就像下面这样:
```bash
>>> d = Dict(a=1, b=2)
>>> d['a']
1
>>> d.a
1
```
mydict.py代码如下:
```bash
class Dict(dict):
def __init__(self, **kw):
super().__init__(**kw)
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Dict' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
```
为了编写单元测试,我们需要引入Python自带的unittest模块,编写mydict_test.py如下:
```bash
import unittest
from mydict import Dict
class TestDict(unittest.TestCase):
def test_init(self):
d = Dict(a=1, b='test')
self.assertEqual(d.a, 1)
self.assertEqual(d.b, 'test')
self.assertTrue(isinstance(d, dict))
def test_key(self):
d = Dict()
d['key'] = 'value'
self.assertEqual(d.key, 'value')
def test_attr(self):
d = Dict()
d.key = 'value'
self.assertTrue('key' in d)
self.assertEqual(d['key'], 'value')
def test_keyerror(self):
d = Dict()
with self.assertRaises(KeyError):
value = d['empty']
def test_attrerror(self):
d = Dict()
with self.assertRaises(AttributeError):
value = d.empty
```
编写单元测试时,我们需要编写一个测试类,从unittest.TestCase继承。
以test开头的方法就是测试方法,不以test开头的方法不被认为是测试方法,测试的时候不会被执行。
对每一类测试都需要编写一个test_xxx()方法。由于unittest.TestCase提供了很多内置的条件判断,我们只需要调用这些方法就可以断言输出是否是我们所期望的。最常用的断言就是assertEqual():
self.assertEqual(abs(-1), 1) # 断言函数返回的结果与1相等
另一种重要的断言就是期待抛出指定类型的Error,比如通过d['empty']访问不存在的key时,断言会抛出KeyError:
```bash
with self.assertRaises(KeyError):
value = d['empty']
```
而通过d.empty访问不存在的key时,我们期待抛出AttributeError:
```bash
with self.assertRaises(AttributeError):
value = d.empty
```
!!运行单元测试
一旦编写好单元测试,我们就可以运行单元测试。最简单的运行方式是在mydict_test.py的最后加上两行代码:
```bash
if __name__ == '__main__':
unittest.main()
```
这样就可以把mydict_test.py当做正常的python脚本运行:
```bash
$ python mydict_test.py
```
另一种方法是在命令行通过参数-m unittest直接运行单元测试:
```bash
$ python -m unittest mydict_test
.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
```
这是推荐的做法,因为这样可以一次批量运行很多单元测试,并且,有很多工具可以自动来运行这些单元测试。
!!setUp与tearDown
可以在单元测试中编写两个特殊的setUp()和tearDown()方法。这两个方法会分别在每调用一个测试方法的前后分别被执行。
setUp()和tearDown()方法有什么用呢?设想你的测试需要启动一个数据库,这时,就可以在setUp()方法中连接数据库,在tearDown()方法中关闭数据库,这样,不必在每个测试方法中重复相同的代码:
```bash
class TestDict(unittest.TestCase):
def setUp(self):
print('setUp...')
def tearDown(self):
print('tearDown...')
```
可以再次运行测试看看每个测试方法调用前后是否会打印出setUp...和tearDown...。
!!练习
对Student类编写单元测试,结果发现测试不通过,请修改Student类,让测试通过:
```bash
# -*- coding: utf-8 -*-
import unittest
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def get_grade(self):
if self.score >= 60:
return 'B'
if self.score >= 80:
return 'A'
return 'C'
class TestStudent(unittest.TestCase):
def test_80_to_100(self):
s1 = Student('Bart', 80)
s2 = Student('Lisa', 100)
self.assertEqual(s1.get_grade(), 'A')
self.assertEqual(s2.get_grade(), 'A')
def test_60_to_80(self):
s1 = Student('Bart', 60)
s2 = Student('Lisa', 79)
self.assertEqual(s1.get_grade(), 'B')
self.assertEqual(s2.get_grade(), 'B')
def test_0_to_60(self):
s1 = Student('Bart', 0)
s2 = Student('Lisa', 59)
self.assertEqual(s1.get_grade(), 'C')
self.assertEqual(s2.get_grade(), 'C')
def test_invalid(self):
s1 = Student('Bart', -1)
s2 = Student('Lisa', 101)
with self.assertRaises(ValueError):
s1.get_grade()
with self.assertRaises(ValueError):
s2.get_grade()
if __name__ == '__main__':
unittest.main()
```
!!小结
单元测试可以有效地测试某个程序模块的行为,是未来重构代码的信心保证。
单元测试的测试用例要覆盖常用的输入组合、边界条件和异常。
单元测试代码要非常简单,如果测试代码太复杂,那么测试代码本身就可能有bug。
单元测试通过了并不意味着程序就没有bug了,但是不通过程序肯定有bug。
!!参考源码
[[mydict.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/mydict.py]]
[[mydict_test.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/mydict_test.py]]
!递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。
于是,fact(n)用递归的方式写出来就是:
```bash
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
```
上面就是一个递归函数。可以试试:
```bash
>>> fact(1)
1
>>> fact(5)
120
>>> fact(100)
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
```
如果我们计算fact(5),可以根据函数定义看到计算过程如下:
```bash
===> fact(5)
===> 5 * fact(4)
===> 5 * (4 * fact(3))
===> 5 * (4 * (3 * fact(2)))
===> 5 * (4 * (3 * (2 * fact(1))))
===> 5 * (4 * (3 * (2 * 1)))
===> 5 * (4 * (3 * 2))
===> 5 * (4 * 6)
===> 5 * 24
===> 120
```
递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。
使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试fact(1000):
```bash
>>> fact(1000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in fact
...
File "<stdin>", line 4, in fact
RuntimeError: maximum recursion depth exceeded in comparison
```
解决递归调用栈溢出的方法是通过尾递归优化,事实上尾递归和循环的效果是一样的,所以,把循环看成是一种特殊的尾递归函数也是可以的。
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。
上面的fact(n)函数由于return n * fact(n - 1)引入了乘法表达式,所以就不是尾递归了。要改成尾递归方式,需要多一点代码,主要是要把每一步的乘积传入到递归函数中:
```bash
def fact(n):
return fact_iter(n, 1)
def fact_iter(num, product):
if num == 1:
return product
return fact_iter(num - 1, num * product)
```
可以看到,return fact_iter(num - 1, num * product)仅返回递归函数本身,num - 1和num * product在函数调用前就会被计算,不影响函数调用。
fact(5)对应的fact_iter(5, 1)的调用如下:
```bash
===> fact_iter(5, 1)
===> fact_iter(4, 5)
===> fact_iter(3, 20)
===> fact_iter(2, 60)
===> fact_iter(1, 120)
===> 120
```
尾递归调用时,如果做了优化,栈不会增长,因此,无论多少次调用也不会导致栈溢出。
遗憾的是,大多数编程语言没有针对尾递归做优化,Python解释器也没有做优化,所以,即使把上面的fact(n)函数改成尾递归方式,也会导致栈溢出。
!!小结
使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出。
针对尾递归优化的语言可以通过尾递归防止栈溢出。尾递归事实上和循环是等价的,没有循环语句的编程语言只能通过尾递归实现循环。
Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题。
!!练习
汉诺塔的移动可以用递归函数非常简单地实现。
请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法,例如:
```bash
# -*- coding: utf-8 -*-
def move(n, a, b, c):
if n == 1:
print(a, '-->', c)
# 期待输出:
# A --> C
# A --> B
# C --> B
# A --> C
# B --> A
# B --> C
# A --> C
move(3, 'A', 'B', 'C')
```
!!参考源码
[[recur.py|https://github.com/michaelliao/learn-python3/blob/master/samples/function/recur.py]]
!!第一个Python程序
阅读: 906588
在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。
!!命令行模式
在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似`C:\>`:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> _ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
!!Python交互模式
在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是`>>>`。
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.7 ... on win32 │
│Type "help", ... for more information. │
│>>> _ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.7 ... on win32 │
│Type "help", ... for more information. │
│>>> exit() │
│ │
│C:\> _ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。
了解了如何启动和退出Python的交互模式,我们就可以正式开始编写Python代码了。
在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码:拼写不对,大小写不对,混用中英文标点,混用空格和Tab键,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序。
[img[python6.jpeg]]
在交互模式的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入100+200,看看计算结果是不是300:
```bash
>>> 100+200
300
```
很简单吧,任何有效的数学计算都可以算出来。
如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:
```bash
>>> print('hello, world')
hello, world
```
这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。
最后,用`exit()`退出Python,我们的第一个Python程序完成!唯一的缺憾是没有保存下来,下次运行时还要再输入一遍代码。
视频演示:
http://asklxf.coding.me/liaoxuefeng/v/python/first-py-code.mp4
!!命令行模式和Python交互模式
请注意区分命令行模式和Python交互模式。
在命令行模式下,可以执行python进入Python交互式环境,也可以执行python hello.py运行一个.py文件。
执行一个.py文件只能在命令行模式执行。如果敲一个命令python hello.py,看到如下错误:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt _ □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python hello.py │
│python: can't open file 'hello.py': [Errno 2] No such │
│file or directory │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
错误提示No such file or directory说明这个hello.py在当前目录找不到,必须先把当前目录切换到hello.py所在的目录下,才能正常执行:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt _ □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> cd work │
│ │
│C:\work> python hello.py │
│Hello, world! │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
此外,在命令行模式运行.py文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。
例如,在Python交互式环境下,输入:
```bash
>>> 100 + 200 + 300
600
```
直接可以看到结果600。
但是,写一个calc.py的文件,内容如下:
```bash
100 + 200 + 300
```
然后在命令行模式下执行:
```bash
C:\work>python calc.py
```
发现什么输出都没有。
这是正常的。想要输出结果,必须自己用print()打印出来。把calc.py改造一下:
```bash
print(100 + 200 + 300)
```
再执行,就可以看到结果:
```bash
C:\work>python calc.py
600
```
最后,Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!
!!小结
在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。
在命令行模式下,可以直接运行.py文件。
!电子邮件
Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。
几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互联网上运作的。
我们来看看传统邮件是如何运作的。假设你现在在北京,要给一个香港的朋友发一封信,怎么做呢?
首先你得写好信,装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去。
信件会从就近的小邮局转运到大邮局,再从大邮局往别的城市发,比如先发到天津,再走海运到达香港,也可能走京九线到香港,但是你不用关心具体路线,你只需要知道一件事,就是信件走得很慢,至少要几天时间。
信件到达香港的某个邮局,也不会直接送到朋友的家里,因为邮局的叔叔是很聪明的,他怕你的朋友不在家,一趟一趟地白跑,所以,信件会投递到你的朋友的邮箱里,邮箱可能在公寓的一层,或者家门口,直到你的朋友回家的时候检查邮箱,发现信件后,就可以取到邮件了。
电子邮件的流程基本上也是按上面的方式运作的,只不过速度不是按天算,而是按秒算。
现在我们回到电子邮件,假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com(注意地址都是虚构的哈),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email地址,点“发送”,电子邮件就发出去了。这些电子邮件软件被称为MUA:Mail User Agent——邮件用户代理。
Email从MUA发出去,不是直接到达对方电脑,而是发到MTA:Mail Transfer Agent——邮件传输代理,就是那些Email服务提供商,比如网易、新浪等等。由于我们自己的电子邮件是163.com,所以,Email首先被投递到网易提供的MTA,再由网易的MTA发到对方服务商,也就是新浪的MTA。这个过程中间可能还会经过别的MTA,但是我们不关心具体路线,我们只关心速度。
Email到达新浪的MTA后,由于对方使用的是@sina.com的邮箱,因此,新浪的MTA会把Email投递到邮件的最终目的地MDA:Mail Delivery Agent——邮件投递代理。Email到达MDA后,就静静地躺在新浪的某个服务器上,存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为电子邮箱。
同普通邮件类似,Email不会直接到达对方的电脑,因为对方电脑不一定开机,开机也不一定联网。对方要取到邮件,必须通过MUA从MDA上把邮件取到自己的电脑上。
所以,一封电子邮件的旅程就是:
```
发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人
```
有了上述基本概念,要编写程序来发送和接收邮件,本质上就是:
编写MUA把邮件发到MTA;
编写MUA从MDA上收邮件。
发邮件时,MUA和MTA使用的协议就是SMTP:Simple Mail Transfer Protocol,后面的MTA到另一个MTA也是用SMTP协议。
收邮件时,MUA和MDA使用的协议有两种:POP:Post Office Protocol,目前版本是3,俗称POP3;IMAP:Internet Message Access Protocol,目前版本是4,优点是不但能取邮件,还可以直接操作MDA上存储的邮件,比如从收件箱移到垃圾箱,等等。
邮件客户端软件在发邮件时,会让你先配置SMTP服务器,也就是你要发到哪个MTA上。假设你正在使用163的邮箱,你就不能直接发到新浪的MTA上,因为它只服务新浪的用户,所以,你得填163提供的SMTP服务器地址:smtp.163.com,为了证明你是163的用户,SMTP服务器还要求你填写邮箱地址和邮箱口令,这样,MUA才能正常地把Email通过SMTP协议发送到MTA。
类似的,从MDA收邮件时,MDA服务器也要求验证你的邮箱口令,确保不会有人冒充你收取你的邮件,所以,Outlook之类的邮件客户端会要求你填写POP3或IMAP服务器地址、邮箱地址和口令,这样,MUA才能顺利地通过POP或IMAP协议从MDA取到邮件。
在使用Python收发邮件前,请先准备好至少两个电子邮件,如xxx@163.com,xxx@sina.com,xxx@qq.com等,注意两个邮箱不要用同一家邮件服务商。
最后特别注意,目前大多数邮件服务商都需要手动打开SMTP发信和POP收信的功能,否则只允许在网页登录:
[img[python32.png]]
!!发邮件和收邮件
[[SMTP发送邮件]]
[[POP3收取邮件]]
!调试
程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。
第一种方法简单直接粗暴有效,就是用print()把可能有问题的变量打印出来看看:
```bash
def foo(s):
n = int(s)
print('>>> n = %d' % n)
return 10 / n
def main():
foo('0')
main()
```
执行后在输出中查找打印的变量值:
```bash
$ python err.py
>>> n = 0
Traceback (most recent call last):
...
ZeroDivisionError: integer division or modulo by zero
```
用print()最大的坏处是将来还得删掉它,想想程序里到处都是print(),运行结果也会包含很多垃圾信息。所以,我们又有第二种方法。
!!断言
凡是用print()来辅助查看的地方,都可以用断言(assert)来替代:
```bash
def foo(s):
n = int(s)
assert n != 0, 'n is zero!'
return 10 / n
def main():
foo('0')```
assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。
如果断言失败,assert语句本身就会抛出AssertionError:
```bash
$ python err.py
Traceback (most recent call last):
...
AssertionError: n is zero!
```
程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动Python解释器时可以用-O参数来关闭assert:
```bash
$ python -O err.py
Traceback (most recent call last):
...
ZeroDivisionError: division by zero
```
关闭后,你可以把所有的assert语句当成pass来看。
!!logging
把print()替换为logging是第3种方式,和assert比,logging不会抛出错误,而且可以输出到文件:
```bash
import logging
s = '0'
n = int(s)
logging.info('n = %d' % n)
print(10 / n)
```
logging.info()就可以输出一段文本。运行,发现除了ZeroDivisionError,没有任何信息。怎么回事?
别急,在import logging之后添加一行配置再试试:
```bash
import logging
logging.basicConfig(level=logging.INFO)
```
看到输出了:
```bash
$ python err.py
INFO:root:n = 0
Traceback (most recent call last):
File "err.py", line 8, in <module>
print(10 / n)
ZeroDivisionError: division by zero
```
这就是logging的好处,它允许你指定记录信息的级别,有debug,info,warning,error等几个级别,当我们指定level=INFO时,logging.debug就不起作用了。同理,指定level=WARNING后,debug和info就不起作用了。这样一来,你可以放心地输出不同级别的信息,也不用删除,最后统一控制输出哪个级别的信息。
logging的另一个好处是通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件。
!!pdb
第4种方式是启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。我们先准备好程序:
```bash
# err.py
s = '0'
n = int(s)
print(10 / n)
```
然后启动:
```bash
$ python -m pdb err.py
> /Users/michael/Github/learn-python3/samples/debug/err.py(2)<module>()
-> s = '0'
```
以参数-m pdb启动后,pdb定位到下一步要执行的代码-> s = '0'。输入命令l来查看代码:
```bash
(Pdb) l
1 # err.py
2 -> s = '0'
3 n = int(s)
4 print(10 / n)
```
输入命令n可以单步执行代码:
```bash
(Pdb) n
> /Users/michael/Github/learn-python3/samples/debug/err.py(3)<module>()
-> n = int(s)
(Pdb) n
> /Users/michael/Github/learn-python3/samples/debug/err.py(4)<module>()
-> print(10 / n)
```
任何时候都可以输入命令p 变量名来查看变量:
```bash
(Pdb) p s
'0'
(Pdb) p n
0
```
输入命令q结束调试,退出程序:
```bash
(Pdb) q
```
这种通过pdb在命令行调试的方法理论上是万能的,但实在是太麻烦了,如果有一千行代码,要运行到第999行得敲多少命令啊。还好,我们还有另一种调试方法。
```bash
pdb.set_trace()
```
这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点:
```bash
# err.py
import pdb
s = '0'
n = int(s)
pdb.set_trace() # 运行到这里会自动暂停
print(10 / n)
```
运行代码,程序会自动在pdb.set_trace()暂停并进入pdb调试环境,可以用命令p查看变量,或者用命令c继续运行:
```bash
$ python err.py
> /Users/michael/Github/learn-python3/samples/debug/err.py(7)<module>()
-> print(10 / n)
(Pdb) p n
0
(Pdb) c
Traceback (most recent call last):
File "err.py", line 7, in <module>
print(10 / n)
ZeroDivisionError: division by zero
```
这个方式比直接启动pdb单步调试效率要高很多,但也高不到哪去。
''IDE''
如果要比较爽地设置断点、单步执行,就需要一个支持调试功能的IDE。目前比较好的Python IDE有:
Visual Studio Code:https://code.visualstudio.com/,需要安装Python插件。
PyCharm:http://www.jetbrains.com/pycharm/
另外,Eclipse加上pydev插件也可以调试Python程序。
!!小结
写程序最痛苦的事情莫过于调试,程序往往会以你意想不到的流程来运行,你期待执行的语句其实根本没有执行,这时候,就需要调试了。
虽然用IDE调试起来比较方便,但是最后你会发现,logging才是终极武器。
!!参考源码
[[do_assert.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/do_assert.py]]
[[do_logging.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/do_logging.py]]
[[do_pdb.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/do_pdb.py]]
Python内置了很多有用的函数,我们可以直接调用。
要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:
http://docs.python.org/3/library/functions.html#abs
也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。
''调用abs函数'':
```bash
>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
```
调用函数的时候,如果传入的参数数量不对,会报TypeError的错误,并且Python会明确地告诉你:abs()有且仅有1个参数,但给出了两个:
```bash
>>> abs(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: abs() takes exactly one argument (2 given)
```
如果传入的参数数量是对的,但参数类型不能被函数所接受,也会报TypeError的错误,并且给出错误信息:str是错误的参数类型:
```bash
>>> abs('a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bad operand type for abs(): 'str'
```
而max函数max()可以接收任意多个参数,并返回最大的那个:
```bash
>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3
```
!!数据类型转换
Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:
```bash
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
```
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:
```bash
>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1
```
练习
请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串:
```bash
# -*- coding: utf-8 -*-
n1 = 255
n2 = 1000
print(???)
```
!!小结
调用Python的函数,需要根据函数定义,传入正确的参数。如果函数调用出错,一定要学会看错误信息,所以英文很重要!
!!参考源码
[[call_func.py|https://github.com/michaelliao/learn-python3/blob/master/samples/function/call_func.py]]
!迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完成的,比如Java代码:
```bash
for (i=0; i<list.length; i++) {
n = list[i];
}
```
可以看出,Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。
list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代:
```bash
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
... print(key)
...
a
c
b
```
因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。
默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()。
由于字符串也是可迭代对象,因此,也可以作用于for循环:
```bash
>>> for ch in 'ABC':
... print(ch)
...
A
B
C
```
所以,当我们使用for循环时,只要作用于一个可迭代对象,for循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。
那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
```bash
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
```
最后一个小问题,如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
```bash
>>> for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C
```
上面的for循环里,同时引用了两个变量,在Python里是很常见的,比如下面的代码:
```bash
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
... print(x, y)
...
1 1
2 4
3 9
```
!!练习
请使用迭代查找一个list中最小和最大值,并返回一个tuple:
```bash
# -*- coding: utf-8 -*-
def findMinAndMax(L):
return (None, None)
# 测试
if findMinAndMax([]) != (None, None):
print('测试失败!')
elif findMinAndMax([7]) != (7, 7):
print('测试失败!')
elif findMinAndMax([7, 1]) != (1, 7):
print('测试失败!')
elif findMinAndMax([7, 1, 3, 9, 5]) != (1, 9):
print('测试失败!')
else:
print('测试成功!')
```
!!小结
任何可迭代对象都可以作用于for循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用for循环。
!!参考源码
[[do_iter.py|https://github.com/michaelliao/learn-python3/blob/master/samples/advance/do_iter.py]]
!迭代器
我们已经知道,可以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list、tuple、dict、set、str等;
一类是generator,包括生成器和带yield的generator function。
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。
可以使用isinstance()判断一个对象是否是Iterable对象:
```bash
>>> from collections import Iterable
>>> isinstance([], Iterable)
True
>>> isinstance({}, Iterable)
True
>>> isinstance('abc', Iterable)
True
>>> isinstance((x for x in range(10)), Iterable)
True
>>> isinstance(100, Iterable)
False
```
而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了。
可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
可以使用isinstance()判断一个对象是否是Iterator对象:
```bash
>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False
>>> isinstance({}, Iterator)
False
>>> isinstance('abc', Iterator)
False
```
生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。
把list、dict、str等Iterable变成Iterator可以使用iter()函数:
```bash
>>> isinstance(iter([]), Iterator)
True
>>> isinstance(iter('abc'), Iterator)
True
```
你可能会问,为什么list、dict、str等数据类型不是Iterator?
这是因为Python的Iterator对象表示的是一个数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有数据时抛出StopIteration错误。可以把这个数据流看做是一个有序序列,但我们却不能提前知道序列的长度,只能不断通过next()函数实现按需计算下一个数据,所以Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。
Iterator甚至可以表示一个无限大的数据流,例如全体自然数。而使用list是永远不可能存储全体自然数的。
!小结
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
Python的for循环本质上就是通过不断调用next()函数实现的,例如:
```
for x in [1, 2, 3, 4, 5]:
pass
```
实际上完全等价于:
```bash
# 首先获得Iterator对象:
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
try:
# 获得下一个值:
x = next(it)
except StopIteration:
# 遇到StopIteration就退出循环
break
```
!!参考源码
[[do_iter.py|https://github.com/michaelliao/learn-python3/blob/master/samples/advance/do_iter.py]]
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
我们以自定义一个求绝对值的my_abs函数为例:
```bash
# -*- coding: utf-8 -*-
def my_abs(x):
if x >= 0:
return x
else:
return -x
print(my_abs(-99))
```
请自行测试并调用my_abs看看返回结果是否正确。
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。
在Python交互环境中定义函数时,注意Python会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│>>> def my_abs(x): │
│... if x >= 0: │
│... return x │
│... else: │
│... return -x │
│... │
│>>> my_abs(-9) │
│9 │
│>>> _ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│>>> from abstest import my_abs │
│>>> my_abs(-9) │
│9 │
│>>> _ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
import的用法在后续[[模块]]一节中会详细介绍。
!!空函数
如果想定义一个什么事也不做的空函数,可以用pass语句:
```bash
def nop():
pass
```
pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
pass还可以用在其他语句里,比如:
```bash
if age >= 18:
pass
```
缺少了pass,代码运行就会有语法错误。
!!参数检查
调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError:
```bash
>>> my_abs(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: my_abs() takes 1 positional argument but 2 were given
```
但是如果参数类型不对,Python解释器就无法帮我们检查。试试my_abs和内置函数abs的差别:
```bash
>>> my_abs('A')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in my_abs
TypeError: unorderable types: str() >= int()
>>> abs('A')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bad operand type for abs(): 'str'
```
当传入了不恰当的参数时,内置函数abs会检查出参数错误,而我们定义的my_abs没有参数检查,会导致if语句出错,出错信息和abs不一样。所以,这个函数定义不够完善。
让我们修改一下my_abs的定义,对参数类型做检查,只允许整数和浮点数类型的参数。数据类型检查可以用内置函数isinstance()实现:
```bash
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
```
添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:
```bash
>>> my_abs('A')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in my_abs
TypeError: bad operand type
```
错误和异常处理将在后续讲到。
!!返回多个值
函数可以返回多个值吗?答案是肯定的。
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:
```bash
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
```
import math语句表示导入math包,并允许后续代码引用math包里的sin、cos等函数。
然后,我们就可以同时获得返回值:
```bash
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0
```
但其实这只是一种假象,Python函数返回的仍然是单一值:
```bash
>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)
```
原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
!!小结
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple。
!!练习
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:
ax<sup>2</sup> + bx + c = 0
的两个解。
提示:计算平方根可以调用math.sqrt()函数:
```bash
>>> import math
>>> math.sqrt(2)
1.4142135623730951
```
!!参考源码
[[def_func.py|https://github.com/michaelliao/learn-python3/blob/master/samples/function/def_func.py]]
!定制类
看到类似`__slots__`这种形如`__xxx__`的变量或者函数名就要注意,这些在Python中是有特殊用途的。
`__slots__`我们已经知道怎么用了,`__len__()`方法我们也知道是为了能让class作用于len()函数。
除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。
''`__str__`''
我们先定义一个Student类,打印一个实例:
```bash
>>> class Student(object):
... def __init__(self, name):
... self.name = name
...
>>> print(Student('Michael'))
<__main__.Student object at 0x109afb190>
```
打印出一堆`<__main__.Student object at 0x109afb190>`,不好看。
怎么才能打印得好看呢?只需要定义好__str__()方法,返回一个好看的字符串就可以了:
```bash
>>> class Student(object):
... def __init__(self, name):
... self.name = name
... def __str__(self):
... return 'Student object (name: %s)' % self.name
...
>>> print(Student('Michael'))
Student object (name: Michael)
```
这样打印出来的实例,不但好看,而且容易看出实例内部重要的数据。
但是细心的朋友会发现直接敲变量不用print,打印出来的实例还是不好看:
```bash
>>> s = Student('Michael')
>>> s
<__main__.Student object at 0x109afb310>
```
这是因为直接显示变量调用的不是`__str__()`,而是`__repr__()`,两者的区别是`__str__()`返回用户看到的字符串,而`__repr__()`返回程序开发者看到的字符串,也就是说,`__repr__()`是为调试服务的。
解决办法是再定义一个`__repr__()`。但是通常`__str__()`和`__repr__()`代码都是一样的,所以,有个偷懒的写法:
```bash
class Student(object):
def __init__(self, name):
self.name = name
def __str__(self):
return 'Student object (name=%s)' % self.name
__repr__ = __str__
```
''`__iter__`''
如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个`__iter__()`方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的`__next__()`方法拿到循环的下一个值,直到遇到StopIteration错误时退出循环。
我们以斐波那契数列为例,写一个Fib类,可以作用于for循环:
```bash
class Fib(object):
def __init__(self):
self.a, self.b = 0, 1 # 初始化两个计数器a,b
def __iter__(self):
return self # 实例本身就是迭代对象,故返回自己
def __next__(self):
self.a, self.b = self.b, self.a + self.b # 计算下一个值
if self.a > 100000: # 退出循环的条件
raise StopIteration()
return self.a # 返回下一个值
```
现在,试试把Fib实例作用于for循环:
```bash
>>> for n in Fib():
... print(n)
...
1
1
2
3
5
...
46368
75025
```
''`__getitem__`''
Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:
```bash
>>> Fib()[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Fib' object does not support indexing
```
要表现得像list那样按照下标取出元素,需要实现`__getitem__()`方法:
```bash
class Fib(object):
def __getitem__(self, n):
a, b = 1, 1
for x in range(n):
a, b = b, a + b
return a
```
现在,就可以按下标访问数列的任意一项了:
```bash
>>> f = Fib()
>>> f[0]
1
>>> f[1]
1
>>> f[2]
2
>>> f[3]
3
>>> f[10]
89
>>> f[100]
573147844013817084101
```
但是list有个神奇的切片方法:
```bash
>>> list(range(100))[5:10]
[5, 6, 7, 8, 9]
```
对于Fib却报错。原因是`__getitem__()`传入的参数可能是一个int,也可能是一个切片对象slice,所以要做判断:
```bash
class Fib(object):
def __getitem__(self, n):
if isinstance(n, int): # n是索引
a, b = 1, 1
for x in range(n):
a, b = b, a + b
return a
if isinstance(n, slice): # n是切片
start = n.start
stop = n.stop
if start is None:
start = 0
a, b = 1, 1
L = []
for x in range(stop):
if x >= start:
L.append(a)
a, b = b, a + b
return L
```
现在试试Fib的切片:
```bash
>>> f = Fib()
>>> f[0:5]
[1, 1, 2, 3, 5]
>>> f[:10]
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
```
但是没有对step参数作处理:
```bash
>>> f[:10:2]
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
```
也没有对负数作处理,所以,要正确实现一个`__getitem__()`还是有很多工作要做的。
此外,如果把对象看成dict,`__getitem__()`的参数也可能是一个可以作key的object,例如str。
与之对应的是`__setitem__()`方法,把对象视作list或dict来对集合赋值。最后,还有一个`__delitem__()`方法,用于删除某个元素。
总之,通过上面的方法,我们自己定义的类表现得和Python自带的list、tuple、dict没什么区别,这完全归功于动态语言的“鸭子类型”,不需要强制继承某个接口。
''`__getattr__`''
正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。比如定义Student类:
```bash
class Student(object):
def __init__(self):
self.name = 'Michael'
```
调用name属性,没问题,但是,调用不存在的score属性,就有问题了:
```bash
>>> s = Student()
>>> print(s.name)
Michael
>>> print(s.score)
Traceback (most recent call last):
...
AttributeError: 'Student' object has no attribute 'score'
```
错误信息很清楚地告诉我们,没有找到score这个attribute。
要避免这个错误,除了可以加上一个score属性外,Python还有另一个机制,那就是写一个`__getattr__()`方法,动态返回一个属性。修改如下:
```bash
class Student(object):
def __init__(self):
self.name = 'Michael'
def __getattr__(self, attr):
if attr=='score':
return 99
```
当调用不存在的属性时,比如score,Python解释器会试图调用`__getattr__(self, 'score')`来尝试获得属性,这样,我们就有机会返回score的值:
```bash
>>> s = Student()
>>> s.name
'Michael'
>>> s.score
99
```
返回函数也是完全可以的:
```bash
class Student(object):
def __getattr__(self, attr):
if attr=='age':
return lambda: 25
```
只是调用方式要变为:
```bash
>>> s.age()
25
```
注意,只有在没有找到属性的情况下,才调用`__getattr__`,已有的属性,比如name,不会在`__getattr__`中查找。
此外,注意到任意调用如s.abc都会返回None,这是因为我们定义的`__getattr__`默认返回就是None。要让class只响应特定的几个属性,我们就要按照约定,抛出AttributeError的错误:
```bash
class Student(object):
def __getattr__(self, attr):
if attr=='age':
return lambda: 25
raise AttributeError('\'Student\' object has no attribute \'%s\'' % attr)
```
这实际上可以把一个类的所有属性和方法调用全部动态化处理了,不需要任何特殊手段。
这种完全动态调用的特性有什么实际作用呢?作用就是,可以针对完全动态的情况作调用。
举个例子:
现在很多网站都搞REST API,比如新浪微博、豆瓣啥的,调用API的URL类似:
http://api.server/user/friends
http://api.server/user/timeline/list
如果要写SDK,给每个URL对应的API都写一个方法,那得累死,而且,API一旦改动,SDK也要改。
利用完全动态的`__getattr__`,我们可以写出一个链式调用:
```bash
class Chain(object):
def __init__(self, path=''):
self._path = path
def __getattr__(self, path):
return Chain('%s/%s' % (self._path, path))
def __str__(self):
return self._path
__repr__ = __str__
```
试试:
```bash
>>> Chain().status.user.timeline.list
'/status/user/timeline/list'
```
这样,无论API怎么变,SDK都可以根据URL实现完全动态的调用,而且,不随API的增加而改变!
还有些REST API会把参数放到URL中,比如GitHub的API:
```bash
GET /users/:user/repos
```
调用时,需要把:user替换为实际用户名。如果我们能写出这样的链式调用:
```bash
Chain().users('michael').repos
```
就可以非常方便地调用API了。有兴趣的童鞋可以试试写出来。
''`__call__`''
一个对象实例可以有自己的属性和方法,当我们调用实例方法时,我们用instance.method()来调用。能不能直接在实例本身上调用呢?在Python中,答案是肯定的。
任何类,只需要定义一个__call__()方法,就可以直接对实例进行调用。请看示例:
```bash
class Student(object):
def __init__(self, name):
self.name = name
def __call__(self):
print('My name is %s.' % self.name)
```
调用方式如下:
```bash
>>> s = Student('Michael')
>>> s() # self参数不要传入
My name is Michael.
```
`__call__()`还可以定义参数。对实例进行直接调用就好比对一个函数进行调用一样,所以你完全可以把对象看成函数,把函数看成对象,因为这两者之间本来就没啥根本的区别。
如果你把对象看成函数,那么函数本身其实也可以在运行期动态创建出来,因为类的实例都是运行期创建出来的,这么一来,我们就模糊了对象和函数的界限。
那么,怎么判断一个变量是对象还是函数呢?其实,更多的时候,我们需要判断一个对象是否能被调用,能被调用的对象就是一个Callable对象,比如函数和我们上面定义的带有`__call__()`的类实例:
```bash
>>> callable(Student())
True
>>> callable(max)
True
>>> callable([1, 2, 3])
False
>>> callable(None)
False
>>> callable('str')
False
```
通过callable()函数,我们就可以判断一个对象是否是“可调用”对象。
!!小结
Python的class允许定义许多定制方法,可以让我们非常方便地生成特定的类。
本节介绍的是最常用的几个定制方法,还有很多可定制的方法,请参考Python的官方文档。
!!参考源码
[[special_str.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/special_str.py]]
[[special_iter.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/special_iter.py]]
[[special_getitem.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/special_getitem.py]]
[[special_getattr.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/special_getattr.py]]
[[special_call.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/special_call.py]]
!多进程
要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。
Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。
子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。
Python的os模块封装了常见的系统调用,其中就包括fork,可以在Python程序中轻松创建子进程:
```bash
import os
print('Process (%s) start...' % os.getpid())
# Only works on Unix/Linux/Mac:
pid = os.fork()
if pid == 0:
print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()))
else:
print('I (%s) just created a child process (%s).' % (os.getpid(), pid))
```
运行结果如下:
```bash
Process (876) start...
I (876) just created a child process (877).
I am child process (877) and my parent is 876.
```
由于Windows没有fork调用,上面的代码在Windows上无法运行。由于Mac系统是基于BSD(Unix的一种)内核,所以,在Mac下运行是没有问题的,推荐大家用Mac学Python!
有了fork调用,一个进程在接到新任务时就可以复制出一个子进程来处理新任务,常见的Apache服务器就是由父进程监听端口,每当有新的http请求时,就fork出子进程来处理新的http请求。
!!multiprocessing
如果你打算编写多进程的服务程序,Unix/Linux无疑是正确的选择。由于Windows没有fork调用,难道在Windows上无法用Python编写多进程的程序?
由于Python是跨平台的,自然也应该提供一个跨平台的多进程支持。multiprocessing模块就是跨平台版本的多进程模块。
multiprocessing模块提供了一个Process类来代表一个进程对象,下面的例子演示了启动一个子进程并等待其结束:
```bash
from multiprocessing import Process
import os
# 子进程要执行的代码
def run_proc(name):
print('Run child process %s (%s)...' % (name, os.getpid()))
if __name__=='__main__':
print('Parent process %s.' % os.getpid())
p = Process(target=run_proc, args=('test',))
print('Child process will start.')
p.start()
p.join()
print('Child process end.')
```
执行结果如下:
```bash
Parent process 928.
Process will start.
Run child process test (929)...
Process end.
```
创建子进程时,只需要传入一个执行函数和函数的参数,创建一个Process实例,用start()方法启动,这样创建进程比fork()还要简单。
join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步。
!!Pool
如果要启动大量的子进程,可以用进程池的方式批量创建子进程:
```bash
from multiprocessing import Pool
import os, time, random
def long_time_task(name):
print('Run task %s (%s)...' % (name, os.getpid()))
start = time.time()
time.sleep(random.random() * 3)
end = time.time()
print('Task %s runs %0.2f seconds.' % (name, (end - start)))
if __name__=='__main__':
print('Parent process %s.' % os.getpid())
p = Pool(4)
for i in range(5):
p.apply_async(long_time_task, args=(i,))
print('Waiting for all subprocesses done...')
p.close()
p.join()
print('All subprocesses done.')
```
执行结果如下:
```bash
Parent process 669.
Waiting for all subprocesses done...
Run task 0 (671)...
Run task 1 (672)...
Run task 2 (673)...
Run task 3 (674)...
Task 2 runs 0.14 seconds.
Run task 4 (673)...
Task 1 runs 0.27 seconds.
Task 3 runs 0.86 seconds.
Task 0 runs 1.41 seconds.
Task 4 runs 1.91 seconds.
All subprocesses done.
```
代码解读:
对Pool对象调用join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close(),调用close()之后就不能继续添加新的Process了。
请注意输出的结果,task 0,1,2,3是立刻执行的,而task 4要等待前面某个task完成后才执行,这是因为Pool的默认大小在我的电脑上是4,因此,最多同时执行4个进程。这是Pool有意设计的限制,并不是操作系统的限制。如果改成:
```bash
p = Pool(5)
```
就可以同时跑5个进程。
由于Pool的默认大小是CPU的核数,如果你不幸拥有8核CPU,你要提交至少9个子进程才能看到上面的等待效果。
!!子进程
很多时候,子进程并不是自身,而是一个外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。
subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。
下面的例子演示了如何在Python代码中运行命令nslookup www.python.org,这和命令行直接运行的效果是一样的:
```bash
import subprocess
print('$ nslookup www.python.org')
r = subprocess.call(['nslookup', 'www.python.org'])
print('Exit code:', r)
运行结果:
$ nslookup www.python.org
Server: 192.168.19.4
Address: 192.168.19.4#53
Non-authoritative answer:
www.python.org canonical name = python.map.fastly.net.
Name: python.map.fastly.net
Address: 199.27.79.223
Exit code: 0
```
如果子进程还需要输入,则可以通过communicate()方法输入:
```bash
import subprocess
print('$ nslookup')
p = subprocess.Popen(['nslookup'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = p.communicate(b'set q=mx\npython.org\nexit\n')
print(output.decode('utf-8'))
print('Exit code:', p.returncode)
```
上面的代码相当于在命令行执行命令nslookup,然后手动输入:
```bash
set q=mx
python.org
exit
```
运行结果如下:
```bash
$ nslookup
Server: 192.168.19.4
Address: 192.168.19.4#53
Non-authoritative answer:
python.org mail exchanger = 50 mail.python.org.
Authoritative answers can be found from:
mail.python.org internet address = 82.94.164.166
mail.python.org has AAAA address 2001:888:2000:d::a6
Exit code: 0
```
!!进程间通信
Process之间肯定是需要通信的,操作系统提供了很多机制来实现进程间的通信。Python的multiprocessing模块包装了底层的机制,提供了Queue、Pipes等多种方式来交换数据。
我们以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据:
```bash
from multiprocessing import Process, Queue
import os, time, random
# 写数据进程执行的代码:
def write(q):
print('Process to write: %s' % os.getpid())
for value in ['A', 'B', 'C']:
print('Put %s to queue...' % value)
q.put(value)
time.sleep(random.random())
# 读数据进程执行的代码:
def read(q):
print('Process to read: %s' % os.getpid())
while True:
value = q.get(True)
print('Get %s from queue.' % value)
if __name__=='__main__':
# 父进程创建Queue,并传给各个子进程:
q = Queue()
pw = Process(target=write, args=(q,))
pr = Process(target=read, args=(q,))
# 启动子进程pw,写入:
pw.start()
# 启动子进程pr,读取:
pr.start()
# 等待pw结束:
pw.join()
# pr进程里是死循环,无法等待其结束,只能强行终止:
pr.terminate()
```
运行结果如下:
```bash
Process to write: 50563
Put A to queue...
Process to read: 50564
Get A from queue.
Put B to queue...
Get B from queue.
Put C to queue...
Get C from queue.
```
在Unix/Linux下,multiprocessing模块封装了fork()调用,使我们不需要关注fork()的细节。由于Windows没有fork调用,因此,multiprocessing需要“模拟”出fork的效果,父进程所有Python对象都必须通过pickle序列化再传到子进程去,所有,如果multiprocessing在Windows下调用失败了,要先考虑是不是pickle失败了。
!!小结
在Unix/Linux下,可以使用fork()调用实现多进程。
要实现跨平台的多进程,可以使用multiprocessing模块。
进程间通信是通过Queue、Pipes等实现的。
!!参考源码
[[do_folk.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/do_folk.py]]
[[multi_processing.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/multi_processing.py]]
[[pooled_processing.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/pooled_processing.py]]
[[do_subprocess.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/do_subprocess.py]]
[[do_queue.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/do_queue.py]]
!多线程
多任务可以由多进程完成,也可以由一个进程内的多线程完成。
我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。
由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。
Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块。
启动一个线程就是把一个函数传入并创建Thread实例,然后调用start()开始执行:
```bash
import time, threading
# 新线程执行的代码:
def loop():
print('thread %s is running...' % threading.current_thread().name)
n = 0
while n < 5:
n = n + 1
print('thread %s >>> %s' % (threading.current_thread().name, n))
time.sleep(1)
print('thread %s ended.' % threading.current_thread().name)
print('thread %s is running...' % threading.current_thread().name)
t = threading.Thread(target=loop, name='LoopThread')
t.start()
t.join()
print('thread %s ended.' % threading.current_thread().name)
```
执行结果如下:
```bash
thread MainThread is running...
thread LoopThread is running...
thread LoopThread >>> 1
thread LoopThread >>> 2
thread LoopThread >>> 3
thread LoopThread >>> 4
thread LoopThread >>> 5
thread LoopThread ended.
thread MainThread ended.
```
由于任何进程默认就会启动一个线程,我们把该线程称为主线程,主线程又可以启动新的线程,Python的threading模块有个current_thread()函数,它永远返回当前线程的实例。主线程实例的名字叫MainThread,子线程的名字在创建时指定,我们用LoopThread命名子线程。名字仅仅在打印时用来显示,完全没有其他意义,如果不起名字Python就自动给线程命名为Thread-1,Thread-2……
!!Lock
多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。
来看看多个线程同时操作一个变量怎么把内容给改乱了:
```bash
import time, threading
# 假定这是你的银行存款:
balance = 0
def change_it(n):
# 先存后取,结果应该为0:
global balance
balance = balance + n
balance = balance - n
def run_thread(n):
for i in range(100000):
change_it(n)
t1 = threading.Thread(target=run_thread, args=(5,))
t2 = threading.Thread(target=run_thread, args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
print(balance)
```
我们定义了一个共享变量balance,初始值为0,并且启动两个线程,先存后取,理论上结果应该为0,但是,由于线程的调度是由操作系统决定的,当t1、t2交替执行时,只要循环次数足够多,balance的结果就不一定是0了。
原因是因为高级语言的一条语句在CPU执行时是若干条语句,即使一个简单的计算:
balance = balance + n
也分两步:
# 计算balance + n,存入临时变量中;
# 将临时变量的值赋给balance。
也就是可以看成:
```
x = balance + n
balance = x
```
由于x是局部变量,两个线程各自都有自己的x,当代码正常执行时:
```bash
初始值 balance = 0
t1: x1 = balance + 5 # x1 = 0 + 5 = 5
t1: balance = x1 # balance = 5
t1: x1 = balance - 5 # x1 = 5 - 5 = 0
t1: balance = x1 # balance = 0
t2: x2 = balance + 8 # x2 = 0 + 8 = 8
t2: balance = x2 # balance = 8
t2: x2 = balance - 8 # x2 = 8 - 8 = 0
t2: balance = x2 # balance = 0
结果 balance = 0
```
但是t1和t2是交替运行的,如果操作系统以下面的顺序执行t1、t2:
```bash
初始值 balance = 0
t1: x1 = balance + 5 # x1 = 0 + 5 = 5
t2: x2 = balance + 8 # x2 = 0 + 8 = 8
t2: balance = x2 # balance = 8
t1: balance = x1 # balance = 5
t1: x1 = balance - 5 # x1 = 5 - 5 = 0
t1: balance = x1 # balance = 0
t2: x2 = balance - 8 # x2 = 0 - 8 = -8
t2: balance = x2 # balance = -8
结果 balance = -8
```
究其原因,是因为修改balance需要多条语句,而执行这几条语句时,线程可能中断,从而导致多个线程把同一个对象的内容改乱了。
两个线程同时一存一取,就可能导致余额不对,你肯定不希望你的银行存款莫名其妙地变成了负数,所以,我们必须确保一个线程在修改balance的时候,别的线程一定不能改。
如果我们要确保balance计算正确,就要给change_it()上一把锁,当某个线程开始执行change_it()时,我们说,该线程因为获得了锁,因此其他线程不能同时执行change_it(),只能等待,直到锁被释放后,获得该锁以后才能改。由于锁只有一个,无论多少线程,同一时刻最多只有一个线程持有该锁,所以,不会造成修改的冲突。创建一个锁就是通过threading.Lock()来实现:
```bash
balance = 0
lock = threading.Lock()
def run_thread(n):
for i in range(100000):
# 先要获取锁:
lock.acquire()
try:
# 放心地改吧:
change_it(n)
finally:
# 改完了一定要释放锁:
lock.release()
```
当多个线程同时执行lock.acquire()时,只有一个线程能成功地获取锁,然后继续执行代码,其他线程就继续等待直到获得锁为止。
获得锁的线程用完后一定要释放锁,否则那些苦苦等待锁的线程将永远等待下去,成为死线程。所以我们用try...finally来确保锁一定会被释放。
锁的好处就是确保了某段关键代码只能由一个线程从头到尾完整地执行,坏处当然也很多,首先是阻止了多线程并发执行,包含锁的某段代码实际上只能以单线程模式执行,效率就大大地下降了。其次,由于可以存在多个锁,不同的线程持有不同的锁,并试图获取对方持有的锁时,可能会造成死锁,导致多个线程全部挂起,既不能执行,也无法结束,只能靠操作系统强制终止。
!!多核CPU
如果你不幸拥有一个多核CPU,你肯定在想,多核应该可以同时执行多个线程。
如果写一个死循环的话,会出现什么情况呢?
打开Mac OS X的Activity Monitor,或者Windows的Task Manager,都可以监控某个进程的CPU使用率。
我们可以监控到一个死循环线程会100%占用一个CPU。
如果有两个死循环线程,在多核CPU中,可以监控到会占用200%的CPU,也就是占用两个CPU核心。
要想把N核CPU的核心全部跑满,就必须启动N个死循环线程。
试试用Python写个死循环:
```bash
import threading, multiprocessing
def loop():
x = 0
while True:
x = x ^ 1
for i in range(multiprocessing.cpu_count()):
t = threading.Thread(target=loop)
t.start()
```
启动与CPU核心数量相同的N个线程,在4核CPU上可以监控到CPU占用率仅有102%,也就是仅使用了一核。
但是用C、C++或Java来改写相同的死循环,直接可以把全部核心跑满,4核就跑到400%,8核就跑到800%,为什么Python不行呢?
因为Python的线程虽然是真正的线程,但解释器执行代码时,有一个GIL锁:Global Interpreter Lock,任何Python线程执行前,必须先获得GIL锁,然后,每执行100条字节码,解释器就自动释放GIL锁,让别的线程有机会执行。这个GIL全局锁实际上把所有线程的执行代码都给上了锁,所以,多线程在Python中只能交替执行,即使100个线程跑在100核CPU上,也只能用到1个核。
GIL是Python解释器设计的历史遗留问题,通常我们用的解释器是官方实现的CPython,要真正利用多核,除非重写一个不带GIL的解释器。
所以,在Python中,可以使用多线程,但不要指望能有效利用多核。如果一定要通过多线程利用多核,那只能通过C扩展来实现,不过这样就失去了Python简单易用的特点。
不过,也不用过于担心,Python虽然不能利用多线程实现多核任务,但可以通过多进程实现多核任务。多个Python进程有各自独立的GIL锁,互不影响。
!!小结
多线程编程,模型复杂,容易发生冲突,必须用锁加以隔离,同时,又要小心死锁的发生。
Python解释器由于设计时有GIL全局锁,导致了多线程无法利用多核。多线程的并发在Python中就是一个美丽的梦。
!!参考源码
[[multi_threading.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/multi_threading.py]]
[[do_lock.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/do_lock.py]]
!多重继承
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。
回忆一下Animal类层次的设计,假设我们要实现以下4种动物:
* Dog - 狗狗;
* Bat - 蝙蝠;
* Parrot - 鹦鹉;
* Ostrich - 鸵鸟。
如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次:
```
┌───────────────┐
│ Animal │
└───────────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Mammal │ │ Bird │
└─────────────┘ └─────────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Dog │ │ Bat │ │ Parrot │ │ Ostrich │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
但是如果按照“能跑”和“能飞”来归类,我们就应该设计出这样的类的层次:
```
┌───────────────┐
│ Animal │
└───────────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Runnable │ │ Flyable │
└─────────────┘ └─────────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Dog │ │ Ostrich │ │ Parrot │ │ Bat │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
如果要把上面的两种分类都包含进来,我们就得设计更多的层次:
哺乳类:能跑的哺乳类,能飞的哺乳类;
鸟类:能跑的鸟类,能飞的鸟类。
这么一来,类的层次就复杂了:
```
┌───────────────┐
│ Animal │
└───────────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Mammal │ │ Bird │
└─────────────┘ └─────────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ MRun │ │ MFly │ │ BRun │ │ BFly │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
│ │ │ │
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Dog │ │ Bat │ │ Ostrich │ │ Parrot │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
如果要再增加“宠物类”和“非宠物类”,这么搞下去,类的数量会呈指数增长,很明显这样设计是不行的。
正确的做法是采用多重继承。首先,主要的类层次仍按照哺乳类和鸟类设计:
```bash
class Animal(object):
pass
# 大类:
class Mammal(Animal):
pass
class Bird(Animal):
pass
# 各种动物:
class Dog(Mammal):
pass
class Bat(Mammal):
pass
class Parrot(Bird):
pass
class Ostrich(Bird):
pass
```
现在,我们要给动物再加上Runnable和Flyable的功能,只需要先定义好Runnable和Flyable的类:
```bash
class Runnable(object):
def run(self):
print('Running...')
class Flyable(object):
def fly(self):
print('Flying...')
```
对于需要Runnable功能的动物,就多继承一个Runnable,例如Dog:
```bash
class Dog(Mammal, Runnable):
pass
```
对于需要Flyable功能的动物,就多继承一个Flyable,例如Bat:
```
class Bat(Mammal, Flyable):
pass
```
通过多重继承,一个子类就可以同时获得多个父类的所有功能。
!!MixIn
在设计类的继承关系时,通常,主线都是单一继承下来的,例如,Ostrich继承自Bird。但是,如果需要“混入”额外的功能,通过多重继承就可以实现,比如,让Ostrich除了继承自Bird外,再同时继承Runnable。这种设计通常称之为MixIn。
为了更好地看出继承关系,我们把Runnable和Flyable改为RunnableMixIn和FlyableMixIn。类似的,你还可以定义出肉食动物CarnivorousMixIn和植食动物HerbivoresMixIn,让某个动物同时拥有好几个MixIn:
```
class Dog(Mammal, RunnableMixIn, CarnivorousMixIn):
pass
```
MixIn的目的就是给一个类增加多个功能,这样,在设计类的时候,我们优先考虑通过多重继承来组合多个MixIn的功能,而不是设计多层次的复杂的继承关系。
Python自带的很多库也使用了MixIn。举个例子,Python自带了TCPServer和UDPServer这两类网络服务,而要同时服务多个用户就必须使用多进程或多线程模型,这两种模型由ForkingMixIn和ThreadingMixIn提供。通过组合,我们就可以创造出合适的服务来。
比如,编写一个多进程模式的TCP服务,定义如下:
```
class MyTCPServer(TCPServer, ForkingMixIn):
pass
```
编写一个多线程模式的UDP服务,定义如下:
```
class MyUDPServer(UDPServer, ThreadingMixIn):
pass
```
如果你打算搞一个更先进的协程模型,可以编写一个CoroutineMixIn:
```
class MyTCPServer(TCPServer, CoroutineMixIn):
pass
```
这样一来,我们不需要复杂而庞大的继承链,只要选择组合不同的类的功能,就可以快速构造出所需的子类。
!!小结
由于Python允许使用多重继承,因此,MixIn就是一种常见的设计。
只允许单一继承的语言(如Java)不能使用MixIn的设计。
!返回函数
!!函数作为返回值
高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。
我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:
```bash
def calc_sum(*args):
ax = 0
for n in args:
ax = ax + n
return ax
```
但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数:
```bash
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
```
当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数:
```bash
>>> f = lazy_sum(1, 3, 5, 7, 9)
>>> f
<function lazy_sum.<locals>.sum at 0x101c6ed90>
```
调用函数f时,才真正计算求和的结果:
```bash
>>> f()
25
```
在这个例子中,我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”的程序结构拥有极大的威力。
请再注意一点,当我们调用lazy_sum()时,每次调用都会返回一个新的函数,即使传入相同的参数:
```bash
>>> f1 = lazy_sum(1, 3, 5, 7, 9)
>>> f2 = lazy_sum(1, 3, 5, 7, 9)
>>> f1==f2
False
```
f1()和f2()的调用结果互不影响。
!!闭包
注意到返回的函数在其定义内部引用了局部变量args,所以,当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,所以,闭包用起来简单,实现起来可不容易。
另一个需要注意的问题是,返回的函数并没有立刻执行,而是直到调用了f()才执行。我们来看一个例子:
```bash
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
```
在上面的例子中,每次循环,都创建了一个新的函数,然后,把创建的3个函数都返回了。
你可能认为调用f1(),f2()和f3()结果应该是1,4,9,但实际结果是:
```bash
>>> f1()
9
>>> f2()
9
>>> f3()
9
```
全部都是9!原因就在于返回的函数引用了变量i,但它并非立刻执行。等到3个函数都返回时,它们所引用的变量i已经变成了3,因此最终结果为9。
''__ 返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。__''
如果一定要引用循环变量怎么办?方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变:
```bash
def count():
def f(j):
def g():
return j*j
return g
fs = []
for i in range(1, 4):
fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()
return fs
```
再看看结果:
```bash
>>> f1, f2, f3 = count()
>>> f1()
1
>>> f2()
4
>>> f3()
9
```
缺点是代码较长,可利用lambda函数缩短代码。
!!练习
利用闭包返回一个计数器函数,每次调用它返回递增整数:
```bash
# -*- coding: utf-8 -*-
def createCounter():
def counter():
return 1
return counter
# 测试:
counterA = createCounter()
print(counterA(), counterA(), counterA(), counterA(), counterA()) # 1 2 3 4 5
counterB = createCounter()
if [counterB(), counterB(), counterB(), counterB()] == [1, 2, 3, 4]:
print('测试通过!')
else:
print('测试失败!')
```
!!小结
一个函数可以返回一个计算结果,也可以返回一个函数。
返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量。
!!参考源码
[[return_func.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/return_func.py]]
!访问数据库
程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。
而如何定义数据的存储格式就是一个大问题。如果我们自己来定义存储格式,比如保存一个班级所有学生的成绩单:
|名字 |成绩|
|Michael |99|
|Bob |85|
|Bart |59|
|Lisa |87|
你可以用一个文本文件保存,一行保存一个学生,用,隔开:
```
Michael,99
Bob,85
Bart,59
Lisa,87
```
你还可以用JSON格式保存,也是文本文件:
```bash
[
{"name":"Michael","score":99},
{"name":"Bob","score":85},
{"name":"Bart","score":59},
{"name":"Lisa","score":87}
]
```
你还可以定义各种保存格式,但是问题来了:
存储和读取需要自己实现,JSON还是标准,自己定义的格式就各式各样了;
不能做快速查询,只有把数据全部读到内存中才能自己遍历,但有时候数据的大小远远超过了内存(比如蓝光电影,40GB的数据),根本无法全部读入内存。
为了便于程序保存和读取数据,而且,能直接通过条件快速查询到指定的数据,就出现了数据库(Database)这种专门用于集中存储和查询的软件。
数据库软件诞生的历史非常久远,早在1950年数据库就诞生了。经历了网状数据库,层次数据库,我们现在广泛使用的关系数据库是20世纪70年代基于关系模型的基础上诞生的。
关系模型有一套复杂的数学理论,但是从概念上是十分容易理解的。举个学校的例子:
假设某个XX省YY市ZZ县第一实验小学有3个年级,要表示出这3个年级,可以在Excel中用一个表格画出来:
[img[python39.jpeg]]
每个年级又有若干个班级,要把所有班级表示出来,可以在Excel中再画一个表格:
[img[python40.jpeg]]
这两个表格有个映射关系,就是根据Grade_ID可以在班级表中查找到对应的所有班级:
[img[python41.jpeg]]
也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多的关系就是关系数据库的基础。
根据某个年级的ID就可以查找所有班级的行,这种查询语句在关系数据库中称为SQL语句,可以写成:
```bash
SELECT * FROM classes WHERE grade_id = '1';
```
结果也是一个表:
```
---------+----------+----------
grade_id | class_id | name
---------+----------+----------
1 | 11 | 一年级一班
---------+----------+----------
1 | 12 | 一年级二班
---------+----------+----------
1 | 13 | 一年级三班
---------+----------+----------
```
类似的,Class表的一行记录又可以关联到Student表的多行记录:
[img[python42.png]]
由于本教程不涉及到关系数据库的详细内容,如果你想从零学习关系数据库和基本的SQL语句,如果你想从零学习关系数据库和基本的SQL语句,请自行搜索相关课程。
!!NoSQL
你也许还听说过NoSQL数据库,很多NoSQL宣传其速度和规模远远超过关系数据库,所以很多同学觉得有了NoSQL是否就不需要SQL了呢?千万不要被他们忽悠了,连SQL都不明白怎么可能搞明白NoSQL呢?
!!数据库类别
既然我们要使用关系数据库,就必须选择一个关系数据库。目前广泛使用的关系数据库也就这么几种:
付费的商用数据库:
* Oracle,典型的高富帅;
* SQL Server,微软自家产品,Windows定制专款;
* DB2,IBM的产品,听起来挺高端;
* Sybase,曾经跟微软是好基友,后来关系破裂,现在家境惨淡。
这些数据库都是不开源而且付费的,最大的好处是花了钱出了问题可以找厂家解决,不过在Web的世界里,常常需要部署成千上万的数据库服务器,当然不能把大把大把的银子扔给厂家,所以,无论是Google、Facebook,还是国内的BAT,无一例外都选择了免费的开源数据库:
* MySQL,大家都在用,一般错不了;
* PostgreSQL,学术气息有点重,其实挺不错,但知名度没有MySQL高;
* sqlite,嵌入式数据库,适合桌面和移动应用。
作为Python开发工程师,选择哪个免费数据库呢?当然是MySQL。因为MySQL普及率最高,出了错,可以很容易找到解决方法。而且,围绕MySQL有一大堆监控和运维的工具,安装和使用很方便。
为了能继续后面的学习,你需要从MySQL官方网站下载并安装[[MySQL Community Server 5.6|http://dev.mysql.com/downloads/mysql/]],这个版本是免费的,其他高级版本是要收钱的(请放心,收钱的功能我们用不上)。
!!具体如下:
[[使用SQLite]]
[[使用MySQL]]
[[使用SQLAlchemy]]
!访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。
但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:
```bash
>>> bart = Student('Bart Simpson', 59)
>>> bart.score
59
>>> bart.score = 99
>>> bart.score
99
```
如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线`__`,在Python中,实例的变量名如果以`__`开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,所以,我们把Student类改一改:
```bash
class Student(object):
def __init__(self, name, score):
self.__name = name
self.__score = score
def print_score(self):
print('%s: %s' % (self.__name, self.__score))
```
改完后,对于外部代码来说,没什么变动,但是已经无法从外部访问实例变量`.__name`和实例变量`.__score`了:
```bash
>>> bart = Student('Bart Simpson', 59)
>>> bart.__name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute '__name'
```
这样就确保了外部代码不能随意修改对象内部的状态,这样通过访问限制的保护,代码更加健壮。
但是如果外部代码要获取name和score怎么办?可以给Student类增加get_name和get_score这样的方法:
```bash
class Student(object):
...
def get_name(self):
return self.__name
def get_score(self):
return self.__score
```
如果又要允许外部代码修改score怎么办?可以再给Student类增加set_score方法:
```bash
class Student(object):
...
def set_score(self, score):
self.__score = score
```
你也许会问,原先那种直接通过bart.score = 99也可以修改啊,为什么要定义一个方法大费周折?因为在方法中,可以对参数做检查,避免传入无效的参数:
```bash
class Student(object):
...
def set_score(self, score):
if 0 <= score <= 100:
self.__score = score
else:
raise ValueError('bad score')
```
需要注意的是,在Python中,变量名类似`__xxx__`的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用`__name__`、`__score__`这样的变量名。
有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。
双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。不能直接访问`__name`是因为Python解释器对外把`__name`变量改成了`_Student__name`,所以,仍然可以通过`_Student__name`来访问`__name`变量:
```bash
>>> bart._Student__name
'Bart Simpson'
```
但是强烈建议你不要这么干,因为不同版本的Python解释器可能会把`__name`改成不同的变量名。
总的来说就是,Python本身没有任何机制阻止你干坏事,一切全靠自觉。
最后注意下面的这种错误写法:
```bash
>>> bart = Student('Bart Simpson', 59)
>>> bart.get_name()
'Bart Simpson'
>>> bart.__name = 'New Name' # 设置__name变量!
>>> bart.__name
'New Name'
```
表面上看,外部代码“成功”地设置了`__name`变量,但实际上这个`__name`变量和class内部的`__name`变量不是一个变量!内部的`__name`变量已经被Python解释器自动改成了`_Student__name`,而外部代码给bart新增了一个`__name`变量。不信试试:
```bash
>>> bart.get_name() # get_name()内部返回self.__name
'Bart Simpson'
```
!!练习
请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:
```bash
# -*- coding: utf-8 -*-
class Student(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
# 测试:
bart = Student('Bart', 'male')
if bart.get_gender() != 'male':
print('测试失败!')
else:
bart.set_gender('female')
if bart.get_gender() != 'female':
print('测试失败!')
else:
print('测试成功!')
```
!!参考源码
[[protected_student.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_basic/protected_student.py]]
!分布式进程
在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。
Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块封装很好,不必了解网络通信的细节,就可以很容易地编写分布式多进程程序。
举个例子:如果我们已经有一个通过Queue通信的多进程程序在同一台机器上运行,现在,由于处理任务的进程任务繁重,希望把发送任务的进程和处理任务的进程分布到两台机器上。怎么用分布式进程实现?
原有的Queue可以继续使用,但是,通过managers模块把Queue通过网络暴露出去,就可以让其他机器的进程访问Queue了。
我们先看服务进程,服务进程负责启动Queue,把Queue注册到网络上,然后往Queue里面写入任务:
```bash
# task_master.py
import random, time, queue
from multiprocessing.managers import BaseManager
# 发送任务的队列:
task_queue = queue.Queue()
# 接收结果的队列:
result_queue = queue.Queue()
# 从BaseManager继承的QueueManager:
class QueueManager(BaseManager):
pass
# 把两个Queue都注册到网络上, callable参数关联了Queue对象:
QueueManager.register('get_task_queue', callable=lambda: task_queue)
QueueManager.register('get_result_queue', callable=lambda: result_queue)
# 绑定端口5000, 设置验证码'abc':
manager = QueueManager(address=('', 5000), authkey=b'abc')
# 启动Queue:
manager.start()
# 获得通过网络访问的Queue对象:
task = manager.get_task_queue()
result = manager.get_result_queue()
# 放几个任务进去:
for i in range(10):
n = random.randint(0, 10000)
print('Put task %d...' % n)
task.put(n)
# 从result队列读取结果:
print('Try get results...')
for i in range(10):
r = result.get(timeout=10)
print('Result: %s' % r)
# 关闭:
manager.shutdown()
print('master exit.')
```
请注意,当我们在一台机器上写多进程程序时,创建的Queue可以直接拿来用,但是,在分布式多进程环境下,添加任务到Queue不可以直接对原始的task_queue进行操作,那样就绕过了QueueManager的封装,必须通过manager.get_task_queue()获得的Queue接口添加。
然后,在另一台机器上启动任务进程(本机上启动也可以):
```bash
# task_worker.py
import time, sys, queue
from multiprocessing.managers import BaseManager
# 创建类似的QueueManager:
class QueueManager(BaseManager):
pass
# 由于这个QueueManager只从网络上获取Queue,所以注册时只提供名字:
QueueManager.register('get_task_queue')
QueueManager.register('get_result_queue')
# 连接到服务器,也就是运行task_master.py的机器:
server_addr = '127.0.0.1'
print('Connect to server %s...' % server_addr)
# 端口和验证码注意保持与task_master.py设置的完全一致:
m = QueueManager(address=(server_addr, 5000), authkey=b'abc')
# 从网络连接:
m.connect()
# 获取Queue的对象:
task = m.get_task_queue()
result = m.get_result_queue()
# 从task队列取任务,并把结果写入result队列:
for i in range(10):
try:
n = task.get(timeout=1)
print('run task %d * %d...' % (n, n))
r = '%d * %d = %d' % (n, n, n*n)
time.sleep(1)
result.put(r)
except Queue.Empty:
print('task queue is empty.')
# 处理结束:
print('worker exit.')
```
任务进程要通过网络连接到服务进程,所以要指定服务进程的IP。
现在,可以试试分布式进程的工作效果了。先启动task_master.py服务进程:
```bash
$ python3 task_master.py
Put task 3411...
Put task 1605...
Put task 1398...
Put task 4729...
Put task 5300...
Put task 7471...
Put task 68...
Put task 4219...
Put task 339...
Put task 7866...
Try get results...
```
task_master.py进程发送完任务后,开始等待result队列的结果。现在启动task_worker.py进程:
```bash
$ python3 task_worker.py
Connect to server 127.0.0.1...
run task 3411 * 3411...
run task 1605 * 1605...
run task 1398 * 1398...
run task 4729 * 4729...
run task 5300 * 5300...
run task 7471 * 7471...
run task 68 * 68...
run task 4219 * 4219...
run task 339 * 339...
run task 7866 * 7866...
worker exit.
```
task_worker.py进程结束,在task_master.py进程中会继续打印出结果:
```
Result: 3411 * 3411 = 11634921
Result: 1605 * 1605 = 2576025
Result: 1398 * 1398 = 1954404
Result: 4729 * 4729 = 22363441
Result: 5300 * 5300 = 28090000
Result: 7471 * 7471 = 55815841
Result: 68 * 68 = 4624
Result: 4219 * 4219 = 17799961
Result: 339 * 339 = 114921
Result: 7866 * 7866 = 61873956
```
这个简单的Master/Worker模型有什么用?其实这就是一个简单但真正的分布式计算,把代码稍加改造,启动多个worker,就可以把任务分布到几台甚至几十台机器上,比如把计算n*n的代码换成发送邮件,就实现了邮件队列的异步发送。
Queue对象存储在哪?注意到task_worker.py中根本没有创建Queue的代码,所以,Queue对象存储在task_master.py进程中:
```
│
┌─────────────────────────────────────────┐ ┌──────────────────────────────────────┐
│task_master.py │ │ │task_worker.py │
│ │ │ │
│ task = manager.get_task_queue() │ │ │ task = manager.get_task_queue() │
│ result = manager.get_result_queue() │ │ result = manager.get_result_queue() │
│ │ │ │ │ │ │
│ │ │ │ │ │
│ ▼ │ │ │ │ │
│ ┌─────────────────────────────────┐ │ │ │ │
│ │QueueManager │ │ │ │ │ │
│ │ ┌────────────┐ ┌──────────────┐ │ │ │ │ │
│ │ │ task_queue │ │ result_queue │ │<───┼──┼──┼──────────────┘ │
│ │ └────────────┘ └──────────────┘ │ │ │ │
│ └─────────────────────────────────┘ │ │ │ │
└─────────────────────────────────────────┘ └──────────────────────────────────────┘
│
Network
```
而Queue之所以能通过网络访问,就是通过QueueManager实现的。由于QueueManager管理的不止一个Queue,所以,要给每个Queue的网络调用接口起个名字,比如get_task_queue。
authkey有什么用?这是为了保证两台机器正常通信,不被其他机器恶意干扰。如果task_worker.py的authkey和task_master.py的authkey不一致,肯定连接不上。
!!小结
Python的分布式进程接口简单,封装良好,适合需要把繁重任务分布到多台机器的环境下。
注意Queue的作用是用来传递任务和接收结果,每个任务的描述数据量要尽量小。比如发送一个处理日志文件的任务,就不要发送几百兆的日志文件本身,而是发送日志文件存放的完整路径,由Worker进程再去共享的磁盘上读取文件。
!!参考源码
[[task_master.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/task_master.py
[[task_worker.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/task_worker.py]]
!高级特性
掌握了Python的数据类型、语句和函数,基本上就可以编写出很多有用的程序了。
比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现:
```bash
L = []
n = 1
while n <= 99:
L.append(n)
n = n + 2
```
取list的前一半的元素,也可以通过循环实现。
但是在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。
基于这一思想,我们来介绍Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。请始终牢记,代码越少,开发效率越高。
!高阶函数
高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。
!!变量可以指向函数
以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:
```bash
>>> abs(-10)
10
```
但是,如果只写abs呢?
```bash
>>> abs
<built-in function abs>
```
可见,abs(-10)是函数调用,而abs是函数本身。
要获得函数调用结果,我们可以把结果赋值给变量:
```bash
>>> x = abs(-10)
>>> x
10
```
但是,如果把函数本身赋值给变量呢?
```
>>> f = abs
>>> f
<built-in function abs>
```
结论:函数本身也可以赋值给变量,即:变量可以指向函数。
如果一个变量指向了一个函数,那么,可否通过该变量来调用这个函数?用代码验证一下:
```
>>> f = abs
>>> f(-10)
10
```
成功!说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。
函数名也是变量
那么函数名是什么呢?函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!
如果把abs指向其他对象,会有什么情况发生?
```
>>> abs = 10
>>> abs(-10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
```
把abs指向10后,就无法通过abs(-10)调用该函数了!因为abs这个变量已经不指向求绝对值函数而是指向一个整数10!
当然实际代码绝对不能这么写,这里是为了说明函数名也是变量。要恢复abs函数,请重启Python交互环境。
注:由于abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的指向在其它模块也生效,要用import builtins; builtins.abs = 10。
!!传入函数
既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
一个最简单的高阶函数:
```
def add(x, y, f):
return f(x) + f(y)
```
当我们调用add(-5, 6, abs)时,参数x,y和f分别接收-5,6和abs,根据函数定义,我们可以推导计算过程为:
```
x = -5
y = 6
f = abs
f(x) + f(y) ==> abs(-5) + abs(6) ==> 11
return 11
```
用代码验证一下:
```
# -*- coding: utf-8 -*-
def add(x, y, f):
return f(x) + f(y)
print(add(-5, 6, abs))
```
编写高阶函数,就是让函数的参数能够接收别的函数。
!小结
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
!函数
我们知道圆的面积计算公式为:
S = πr<sup>2</sup>
当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:
```bash
r1 = 12.34
r2 = 9.08
r3 = 73.1
s1 = 3.14 * r1 * r1
s2 = 3.14 * r2 * r2
s3 = 3.14 * r3 * r3
```
当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦,而且,如果要把3.14改成3.14159265359的时候,得全部替换。
有了函数,我们就不再每次写s = 3.14 * x * x,而是写成更有意义的函数调用s = area_of_circle(x),而函数area_of_circle本身只需要写一次,就可以多次调用。
基本上所有的高级语言都支持函数,Python也不例外。Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。
!!抽象
抽象是数学中非常常见的概念。举个例子:
计算数列的和,比如:1 + 2 + 3 + ... + 100,写起来十分不方便,于是数学家发明了求和符号∑,可以把1 + 2 + 3 + ... + 100记作:
[img[python23.png]]
这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。
而且,这种抽象记法是可扩展的,比如:
[img[python24.png]]
还原成加法运算就变成了:
(1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + ... + (100 x 100 + 1)
可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。
写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。
函数的具体使用教程:
[[调用函数]]
[[定义函数]]
[[函数的参数]]
[[递归函数]]
!函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。
Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。
!!位置参数
我们先写一个计算x<sup>2</sup>的函数:
```bash
def power(x):
return x * x
```
对于power(x)函数,参数x就是一个位置参数。
当我们调用power函数时,必须传入有且仅有的一个参数x:
```bash
>>> power(5)
25
>>> power(15)
225
```
现在,如果我们要计算x3怎么办?可以再定义一个power3函数,但是如果要计算x4、x5……怎么办?我们不可能定义无限多个函数。
你也许想到了,可以把power(x)修改为power(x, n),用来计算xn,说干就干:
```bash
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
```
对于这个修改后的power(x, n)函数,可以计算任意n次方:
```bash
>>> power(5, 2)
25
>>> power(5, 3)
125
```
修改后的power(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。
!!默认参数
新的power(x, n)函数定义没有问题,但是,旧的调用代码失败了,原因是我们增加了一个参数,导致旧的代码因为缺少一个参数而无法正常调用:
```bash
>>> power(5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: power() missing 1 required positional argument: 'n'
```
Python的错误信息很明确:调用函数power()缺少了一个位置参数n。
这个时候,默认参数就排上用场了。由于我们经常计算x2,所以,完全可以把第二个参数n的默认值设定为2:
```bash
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
```
这样,当我们调用power(5)时,相当于调用power(5, 2):
```bash
>>> power(5)
25
>>> power(5, 2)
25
```
而对于n > 2的其他情况,就必须明确地传入n,比如power(5, 3)。
从上面的例子可以看出,默认参数可以简化函数的调用。设置默认参数时,有几点要注意:
一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);
二是如何设置默认参数。
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
使用默认参数有什么好处?最大的好处是能降低调用函数的难度。
举个例子,我们写个一年级小学生注册的函数,需要传入name和gender两个参数:
```bash
def enroll(name, gender):
print('name:', name)
print('gender:', gender)
```
这样,调用enroll()函数只需要传入两个参数:
```bash
>>> enroll('Sarah', 'F')
name: Sarah
gender: F
```
如果要继续传入年龄、城市等信息怎么办?这样会使得调用函数的复杂度大大增加。
我们可以把年龄和城市设为默认参数:
```bash
def enroll(name, gender, age=6, city='Beijing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
```
这样,大多数学生注册时不需要提供年龄和城市,只提供必须的两个参数:
```bash
>>> enroll('Sarah', 'F')
name: Sarah
gender: F
age: 6
city: Beijing
```
只有与默认参数不符的学生才需要提供额外的信息:
```bash
enroll('Bob', 'M', 7)
enroll('Adam', 'M', city='Tianjin')
```
可见,默认参数降低了函数调用的难度,而一旦需要更复杂的调用时,又可以传递更多的参数来实现。无论是简单调用还是复杂调用,函数只需要定义一个。
有多个默认参数时,调用的时候,既可以按顺序提供默认参数,比如调用enroll('Bob', 'M', 7),意思是,除了name,gender这两个参数外,最后1个参数应用在参数age上,city参数由于没有提供,仍然使用默认值。
也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上。比如调用enroll('Adam', 'M', city='Tianjin'),意思是,city参数用传进去的值,其他默认参数继续使用默认值。
默认参数很有用,但使用不当,也会掉坑里。默认参数有个最大的坑,演示如下:
先定义一个函数,传入一个list,添加一个END再返回:
```bash
def add_end(L=[]):
L.append('END')
return L
```
当你正常调用时,结果似乎不错:
```bash
>>> add_end([1, 2, 3])
[1, 2, 3, 'END']
>>> add_end(['x', 'y', 'z'])
['x', 'y', 'z', 'END']
```
当你使用默认参数调用时,一开始结果也是对的:
```bash
>>> add_end()
['END']
```
但是,再次调用add_end()时,结果就不对了:
```bash
>>> add_end()
['END', 'END']
>>> add_end()
['END', 'END', 'END']
```
很多初学者很疑惑,默认参数是[],但是函数似乎每次都“记住了”上次添加了'END'后的list。
原因解释如下:
Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。
定义默认参数要牢记一点:默认参数必须指向不变对象!
要修改上面的例子,我们可以用None这个不变对象来实现:
```bash
def add_end(L=None):
if L is None:
L = []
L.append('END')
return L
```
现在,无论调用多少次,都不会有问题:
```bash
>>> add_end()
['END']
>>> add_end()
['END']
```
为什么要设计str、None这样的不变对象呢?因为不变对象一旦创建,对象内部的数据就不能修改,这样就减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有。我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。
!!可变参数
在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。
要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:
```bash
def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
```
但是调用的时候,需要先组装出一个list或tuple:
```bash
>>> calc([1, 2, 3])
14
>>> calc((1, 3, 5, 7))
84
```
如果利用可变参数,调用函数的方式可以简化成这样:
```bash
>>> calc(1, 2, 3)
14
>>> calc(1, 3, 5, 7)
84
```
所以,我们把函数的参数改为可变参数:
```bash
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
```
定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数:
```bash
>>> calc(1, 2)
5
>>> calc()
0
```
如果已经有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:
```bash
>>> nums = [1, 2, 3]
>>> calc(nums[0], nums[1], nums[2])
14
```
这种写法当然是可行的,问题是太繁琐,所以Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:
```bash
>>> nums = [1, 2, 3]
>>> calc(*nums)
14
```
`*nums`表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
关键字参数
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:
```bash
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
```
函数person除了必选参数name和age外,还接受关键字参数kw。在调用该函数时,可以只传入必选参数:
```bash
>>> person('Michael', 30)
name: Michael age: 30 other: {}
```
也可以传入任意个数的关键字参数:
```bash
>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
```
关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。
和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去:
```bash
>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, city=extra['city'], job=extra['job'])
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
```
当然,上面复杂的调用可以用简化的写法:
```bash
>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **extra)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
```
`**extra`表示把extra这个dict的所有key-value用关键字参数传入到函数的`**kw`参数,kw将获得一个dict,注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。
!!命名关键字参数
对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查。
仍以person()函数为例,我们希望检查是否有city和job参数:
```bash
def person(name, age, **kw):
if 'city' in kw:
# 有city参数
pass
if 'job' in kw:
# 有job参数
pass
print('name:', name, 'age:', age, 'other:', kw)
```
但是调用者仍可以传入不受限制的关键字参数:
```bash
>>> person('Jack', 24, city='Beijing', addr='Chaoyang', zipcode=123456)
```
如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:
```bash
def person(name, age, *, city, job):
print(name, age, city, job)
```
和关键字参数`**kw`不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
调用方式如下:
```bash
>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
```
如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
```bash
def person(name, age, *args, city, job):
print(name, age, args, city, job)
```
命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错:
```bash
>>> person('Jack', 24, 'Beijing', 'Engineer')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: person() takes 2 positional arguments but 4 were given
```
由于调用时缺少参数名city和job,Python解释器把这4个参数均视为位置参数,但person()函数仅接受2个位置参数。
命名关键字参数可以有缺省值,从而简化调用:
```bash
def person(name, age, *, city='Beijing', job):
print(name, age, city, job)
```
由于命名关键字参数city具有默认值,调用时,可不传入city参数:
```bash
>>> person('Jack', 24, job='Engineer')
Jack 24 Beijing Engineer
```
使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个*作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数:
```bash
def person(name, age, city, job):
# 缺少 *,city和job被视为位置参数
pass
```
!!参数组合
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
比如定义一个函数,包含上述若干种参数:
```bash
def f1(a, b, c=0, *args, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
def f2(a, b, c=0, *, d, **kw):
print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)
```
在函数调用的时候,Python解释器自动按照参数位置和参数名把对应的参数传进去。
```bash
>>> f1(1, 2)
a = 1 b = 2 c = 0 args = () kw = {}
>>> f1(1, 2, c=3)
a = 1 b = 2 c = 3 args = () kw = {}
>>> f1(1, 2, 3, 'a', 'b')
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {}
>>> f1(1, 2, 3, 'a', 'b', x=99)
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {'x': 99}
>>> f2(1, 2, d=99, ext=None)
a = 1 b = 2 c = 0 d = 99 kw = {'ext': None}
```
最神奇的是通过一个tuple和dict,你也可以调用上述函数:
```bash
>>> args = (1, 2, 3, 4)
>>> kw = {'d': 99, 'x': '#'}
>>> f1(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {'d': 99, 'x': '#'}
>>> args = (1, 2, 3)
>>> kw = {'d': 88, 'x': '#'}
>>> f2(*args, **kw)
a = 1 b = 2 c = 3 d = 88 kw = {'x': '#'}
```
所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。
虽然可以组合多达5种参数,但不要同时使用太多的组合,否则函数接口的可理解性很差。
练习
以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积:
```bash
# -*- coding: utf-8 -*-
def product(x, y):
return x * y
# 测试
print('product(5) =', product(5))
print('product(5, 6) =', product(5, 6))
print('product(5, 6, 7) =', product(5, 6, 7))
print('product(5, 6, 7, 9) =', product(5, 6, 7, 9))
if product(5) != 5:
print('测试失败!')
elif product(5, 6) != 30:
print('测试失败!')
elif product(5, 6, 7) != 210:
print('测试失败!')
elif product(5, 6, 7, 9) != 1890:
print('测试失败!')
else:
try:
product()
print('测试失败!')
except TypeError:
print('测试成功!')
```
!!小结
Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。
默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
要注意定义可变参数和关键字参数的语法:
`*args`是可变参数,args接收的是一个tuple;
`**kw`是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。
!!参考源码
[[var_args.py|https://github.com/michaelliao/learn-python3/blob/master/samples/function/var_args.py]]
[[kw_args.py|https://github.com/michaelliao/learn-python3/blob/master/samples/function/kw_args.py]]
!函数式编程
函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。
而函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。
我们首先要搞明白计算机(Computer)和计算(Compute)的概念。
在计算机的层次上,CPU执行的是加减乘除的指令代码,以及各种条件判断和跳转指令,所以,汇编语言是最贴近计算机的语言。
而计算则指数学意义上的计算,越是抽象的计算,离计算机硬件越远。
对应到编程语言,就是越低级的语言,越贴近计算机,抽象程度低,执行效率高,比如C语言;越高级的语言,越贴近计算,抽象程度高,执行效率低,比如Lisp语言。
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。
函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!
Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。
!获取对象信息
当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?
!!使用type()
首先,我们来判断对象类型,使用type()函数:
基本类型都可以用type()判断:
```bash
>>> type(123)
<class 'int'>
>>> type('str')
<class 'str'>
>>> type(None)
<type(None) 'NoneType'>
```
如果一个变量指向函数或者类,也可以用type()判断:
```bash
>>> type(abs)
<class 'builtin_function_or_method'>
>>> type(a)
<class '__main__.Animal'>
```
但是type()函数返回的是什么类型呢?它返回对应的Class类型。如果我们要在if语句中判断,就需要比较两个变量的type类型是否相同:
```bash
>>> type(123)==type(456)
True
>>> type(123)==int
True
>>> type('abc')==type('123')
True
>>> type('abc')==str
True
>>> type('abc')==type(123)
False
```
判断基本数据类型可以直接写int,str等,但如果要判断一个对象是否是函数怎么办?可以使用types模块中定义的常量:
```bash
>>> import types
>>> def fn():
... pass
...
>>> type(fn)==types.FunctionType
True
>>> type(abs)==types.BuiltinFunctionType
True
>>> type(lambda x: x)==types.LambdaType
True
>>> type((x for x in range(10)))==types.GeneratorType
True
```
!!使用isinstance()
对于class的继承关系来说,使用type()就很不方便。我们要判断class的类型,可以使用isinstance()函数。
我们回顾上次的例子,如果继承关系是:
```bash
object -> Animal -> Dog -> Husky
```
那么,isinstance()就可以告诉我们,一个对象是否是某种类型。先创建3种类型的对象:
```bash
>>> a = Animal()
>>> d = Dog()
>>> h = Husky()
```
然后,判断:
```bash
>>> isinstance(h, Husky)
True
```
没有问题,因为h变量指向的就是Husky对象。
再判断:
```bash
>>> isinstance(h, Dog)
True
```
h虽然自身是Husky类型,但由于Husky是从Dog继承下来的,所以,h也还是Dog类型。换句话说,isinstance()判断的是一个对象是否是该类型本身,或者位于该类型的父继承链上。
因此,我们可以确信,h还是Animal类型:
```bash
>>> isinstance(h, Animal)
True
```
同理,实际类型是Dog的d也是Animal类型:
```bash
>>> isinstance(d, Dog) and isinstance(d, Animal)
True
```
但是,d不是Husky类型:
```bash
>>> isinstance(d, Husky)
False
```
能用type()判断的基本类型也可以用isinstance()判断:
```bash
>>> isinstance('a', str)
True
>>> isinstance(123, int)
True
>>> isinstance(b'a', bytes)
True
```
并且还可以判断一个变量是否是某些类型中的一种,比如下面的代码就可以判断是否是list或者tuple:
```bash
>>> isinstance([1, 2, 3], (list, tuple))
True
>>> isinstance((1, 2, 3), (list, tuple))
True
```
总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”。
!!使用dir()
如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法:
```bash
>>> dir('ABC')
['__add__', '__class__',..., '__subclasshook__', 'capitalize', 'casefold',..., 'zfill']
```
类似`__xxx__`的属性和方法在Python中都是有特殊用途的,比如`__len__`方法返回长度。在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的`__len__()`方法,所以,下面的代码是等价的:
```bash
>>> len('ABC')
3
>>> 'ABC'.__len__()
3
```
我们自己写的类,如果也想用len(myObj)的话,就自己写一个`__len__()`方法:
```bash
>>> class MyDog(object):
... def __len__(self):
... return 100
...
>>> dog = MyDog()
>>> len(dog)
100
```
剩下的都是普通属性或方法,比如lower()返回小写的字符串:
```bash
>>> 'ABC'.lower()
'abc'
```
仅仅把属性和方法列出来是不够的,配合getattr()、setattr()以及hasattr(),我们可以直接操作一个对象的状态:
```bash
>>> class MyObject(object):
... def __init__(self):
... self.x = 9
... def power(self):
... return self.x * self.x
...
>>> obj = MyObject()
```
紧接着,可以测试该对象的属性:
```bash
>>> hasattr(obj, 'x') # 有属性'x'吗?
True
>>> obj.x
9
>>> hasattr(obj, 'y') # 有属性'y'吗?
False
>>> setattr(obj, 'y', 19) # 设置一个属性'y'
>>> hasattr(obj, 'y') # 有属性'y'吗?
True
>>> getattr(obj, 'y') # 获取属性'y'
19
>>> obj.y # 获取属性'y'
19
```
如果试图获取不存在的属性,会抛出AttributeError的错误:
```bash
>>> getattr(obj, 'z') # 获取属性'z'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'MyObject' object has no attribute 'z'
```
可以传入一个default参数,如果属性不存在,就返回默认值:
```bash
>>> getattr(obj, 'z', 404) # 获取属性'z',如果不存在,返回默认值404
404
```
也可以获得对象的方法:
```bash
>>> hasattr(obj, 'power') # 有属性'power'吗?
True
>>> getattr(obj, 'power') # 获取属性'power'
<bound method MyObject.power of <__main__.MyObject object at 0x10077a6a0>>
>>> fn = getattr(obj, 'power') # 获取属性'power'并赋值到变量fn
>>> fn # fn指向obj.power
<bound method MyObject.power of <__main__.MyObject object at 0x10077a6a0>>
>>> fn() # 调用fn()与调用obj.power()是一样的
81
```
!!小结
通过内置的一系列函数,我们可以对任意一个Python对象进行剖析,拿到其内部的数据。要注意的是,只有在不知道对象信息的时候,我们才会去获取对象信息。如果可以直接写:
```bash
sum = obj.x + obj.y
```
就不要写:
```bash
sum = getattr(obj, 'x') + getattr(obj, 'y')
```
一个正确的用法的例子如下:
```bash
def readImage(fp):
if hasattr(fp, 'read'):
return readData(fp)
return None
```
假设我们希望从文件流fp中读取图像,我们首先要判断该fp对象是否存在read方法,如果存在,则该对象是一个流,如果不存在,则无法读取。hasattr()就派上了用场。
请注意,在Python这类动态语言中,根据鸭子类型,有read()方法,不代表该fp对象就是一个文件流,它也可能是网络流,也可能是内存中的一个字节流,但只要read()方法返回的是有效的图像数据,就不影响读取图像的功能。
!!参考源码
[[get_type.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_basic/get_type.py]]
[[attrs.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_basic/attrs.py]]
[ ] 机器学习 - Coursera https://www.coursera.org/learn/machine-learning/home/week/1
!! 网站和索引
* ~TensorFlow 中文社区 http://www.tensorfly.cn
* 更多机器学习资源- ~TensorFlow 中文社区 http://www.tensorfly.cn
* 深度学习入门资源(主要是国外资源) - 萌新的学习日记 - 知乎专栏 https://zhuanlan.zhihu.com/p/29058973
* Awesome Deep Learning https://github.com/ChristosChristofidis/awesome-deep-learning
* 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1) https://github.com/ty4z2008/Qix/blob/master/dl.md
* Charlotte77 | 数学系的数据挖掘民工 - cnblogs http://www.cnblogs.com/charlotte77/
!! 书籍
* Deep Learning 中文翻译 https://github.com/exacity/deeplearningbook-chinese
* Deep Learning - An MIT Press book http://www.deeplearningbook.org
* Neural Networks and Deep Learning http://neuralnetworksanddeeplearning.com
!! 文章
* 如何入门深度学习? https://zhuanlan.zhihu.com/p/21475898
* 人人都可以做深度学习应用:入门篇 https://zhuanlan.zhihu.com/p/25482889
* MNIST机器学习入门 - ~TensorFlow 中文社区 http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html
* 深度学习如何入门?- 知乎回答
** https://www.zhihu.com/question/26006703/answer/156451408
** https://www.zhihu.com/question/26006703/answer/229415675
* 原来理解 深度学习 这么简单! www.sohu.com/a/139103528_463994
!! 课程
* 机器学习 - Coursera https://www.coursera.org/learn/machine-learning/home/week/1
!! 框架
* ~TensorFlow
* Caffe
* Torch
* Theano
!! 数学
关联:
* 机器学习应该准备哪些数学预备知识? - 知乎 https://www.zhihu.com/question/36324957
* 机器学习理论篇1:机器学习的数学基础 - DT新纪元 - 知乎专栏 https://zhuanlan.zhihu.com/p/25197792
* 机器学习中的基本数学知识 - steven yang - cnblogs http://www.cnblogs.com/steven-yang/p/6348112.html#微分differential
* [转载]《和机器学习和计算机视觉相关的数学(from LinDahua)》 - 科学网 http://blog.sciencenet.cn/blog-240720-284694.html
学习:
* 张宇高数十八讲【已完结】 - Bilibili https://www.bilibili.com/video/av12790754/
* 高等微積分 - 台大开放式课程
!! 参考
传统机器学习算法:感知机、SVM、LR、Softmax、Kmeans、DBSCAN、决策树(ID3、C4.5、CART)、GBDT、RF、xgboost、Adaboost、EM、BP神经网络、NB、LDA(fisher discrimination)、PCA、核函数、最大熵、logistic regression等等,目前想到这么多,下次博客会讲述我对它们的理解以及我的学习材料资源。
深度学习(DL是ML的一部分,不要认为DL中包含ML,推荐看看bengio老师的DL):CNN、RNN、LSTM、常用激活函数、adam等优化算法、梯度消失原因、梯度爆炸等。
自然语言理解(NPL):TF-IDF、textrank、word2vec等。
常用概念:最大似然估计(这是一个有故事的概念...)、最小二乘、模型融合方法、L1、L2正则、判别模型与生成模型、熵、KL散度、数据归一化、最优化方法(梯度下降、牛顿、共轭梯度等)、无偏估计、算法评估方法(FROC、ROC、PR、F1、AUC等)、交叉验证、bias-variance-trackoff、概率、高数、线代等等。
来源:[[从小白到机器学习算法工程师,我做了哪些准备?|http://blog.ihuxu.com/the-preparation-from-the-white-to-the-machine-learning-algorithm-engineer/]]
!继承和多态
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。
比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印:
```bash
class Animal(object):
def run(self):
print('Animal is running...')
```
当我们需要编写Dog和Cat类时,就可以直接从Animal类继承:
```bash
class Dog(Animal):
pass
class Cat(Animal):
pass
```
对于Dog来说,Animal就是它的父类,对于Animal来说,Dog就是它的子类。Cat和Dog类似。
继承有什么好处?最大的好处是子类获得了父类的全部功能。由于Animial实现了run()方法,因此,Dog和Cat作为它的子类,什么事也没干,就自动拥有了run()方法:
```bash
dog = Dog()
dog.run()
cat = Cat()
cat.run()
```
运行结果如下:
```bash
Animal is running...
Animal is running...
```
当然,也可以对子类增加一些方法,比如Dog类:
```bash
class Dog(Animal):
def run(self):
print('Dog is running...')
def eat(self):
print('Eating meat...')
```
继承的第二个好处需要我们对代码做一点改进。你看到了,无论是Dog还是Cat,它们run()的时候,显示的都是Animal is running...,符合逻辑的做法是分别显示Dog is running...和Cat is running...,因此,对Dog和Cat类改进如下:
```bash
class Dog(Animal):
def run(self):
print('Dog is running...')
class Cat(Animal):
def run(self):
print('Cat is running...')
```
再次运行,结果如下:
```bash
Dog is running...
Cat is running...
```
当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()。这样,我们就获得了继承的另一个好处:多态。
要理解什么是多态,我们首先要对数据类型再作一点说明。当我们定义一个class的时候,我们实际上就定义了一种数据类型。我们定义的数据类型和Python自带的数据类型,比如str、list、dict没什么两样:
```bash
a = list() # a是list类型
b = Animal() # b是Animal类型
c = Dog() # c是Dog类型
```
判断一个变量是否是某个类型可以用isinstance()判断:
```bash
>>> isinstance(a, list)
True
>>> isinstance(b, Animal)
True
>>> isinstance(c, Dog)
True
```
看来a、b、c确实对应着list、Animal、Dog这3种类型。
但是等等,试试:
```bash
>>> isinstance(c, Animal)
True
```
看来c不仅仅是Dog,c还是Animal!
不过仔细想想,这是有道理的,因为Dog是从Animal继承下来的,当我们创建了一个Dog的实例c时,我们认为c的数据类型是Dog没错,但c同时也是Animal也没错,Dog本来就是Animal的一种!
所以,在继承关系中,如果一个实例的数据类型是某个子类,那它的数据类型也可以被看做是父类。但是,反过来就不行:
```bash
>>> b = Animal()
>>> isinstance(b, Dog)
False
```
Dog可以看成Animal,但Animal不可以看成Dog。
要理解多态的好处,我们还需要再编写一个函数,这个函数接受一个Animal类型的变量:
```bash
def run_twice(animal):
animal.run()
animal.run()
```
当我们传入Animal的实例时,run_twice()就打印出:
```bash
>>> run_twice(Animal())
Animal is running...
Animal is running...
```
当我们传入Dog的实例时,run_twice()就打印出:
```bash
>>> run_twice(Dog())
Dog is running...
Dog is running...
```
当我们传入Cat的实例时,run_twice()就打印出:
```bash
>>> run_twice(Cat())
Cat is running...
Cat is running...
```
看上去没啥意思,但是仔细想想,现在,如果我们再定义一个Tortoise类型,也从Animal派生:
```bash
class Tortoise(Animal):
def run(self):
print('Tortoise is running slowly...')
```
当我们调用run_twice()时,传入Tortoise的实例:
```bash
>>> run_twice(Tortoise())
Tortoise is running slowly...
Tortoise is running slowly...
```
你会发现,新增一个Animal的子类,不必对run_twice()做任何修改,实际上,任何依赖Animal作为参数的函数或者方法都可以不加修改地正常运行,原因就在于多态。
多态的好处就是,当我们需要传入Dog、Cat、Tortoise……时,我们只需要接收Animal类型就可以了,因为Dog、Cat、Tortoise……都是Animal类型,然后,按照Animal类型进行操作即可。由于Animal类型有run()方法,因此,传入的任意类型,只要是Animal类或者子类,就会自动调用实际类型的run()方法,这就是多态的意思:
对于一个变量,我们只需要知道它是Animal类型,无需确切地知道它的子类型,就可以放心地调用run()方法,而具体调用的run()方法是作用在Animal、Dog、Cat还是Tortoise对象上,由运行时该对象的确切类型决定,这就是多态真正的威力:调用方只管调用,不管细节,而当我们新增一种Animal的子类时,只要确保run()方法编写正确,不用管原来的代码是如何调用的。这就是著名的“开闭”原则:
* 对扩展开放:允许新增Animal子类;
* 对修改封闭:不需要修改依赖Animal类型的run_twice()等函数。
继承还可以一级一级地继承下来,就好比从爷爷到爸爸、再到儿子这样的关系。而任何类,最终都可以追溯到根类object,这些继承关系看上去就像一颗倒着的树。比如如下的继承树:
```
┌───────────────┐
│ object │
└───────────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Animal │ │ Plant │
└─────────────┘ └─────────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Dog │ │ Cat │ │ Tree │ │ Flower │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
!!静态语言 vs 动态语言
对于静态语言(例如Java)来说,如果需要传入Animal类型,则传入的对象必须是Animal类型或者它的子类,否则,将无法调用run()方法。
对于Python这样的动态语言来说,则不一定需要传入Animal类型。我们只需要保证传入的对象有一个run()方法就可以了:
```bash
class Timer(object):
def run(self):
print('Start...')
```
这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子。
Python的“file-like object“就是一种鸭子类型。对真正的文件对象,它有一个read()方法,返回其内容。但是,许多对象,只要有read()方法,都被视为“file-like object“。许多函数接收的参数就是“file-like object“,你不一定要传入真正的文件对象,完全可以传入任何实现了read()方法的对象。
!!小结
继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。
动态语言的鸭子类型特点决定了继承不像静态语言那样是必须的。
!!参考源码
[[animals.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_basic/animals.py]]
!进程 vs. 线程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现Master-Worker,主线程就是Master,其他线程就是Worker。
多进程模式最大的优点就是稳定性高,因为一个子进程崩溃了,不会影响主进程和其他子进程。(当然主进程挂了所有进程就全挂了,但是Master进程只负责分配任务,挂掉的概率低)著名的Apache最早就是采用多进程模式。
多进程模式的缺点是创建进程的代价大,在Unix/Linux系统下,用fork调用还行,在Windows下创建进程开销巨大。另外,操作系统能同时运行的进程数也是有限的,在内存和CPU的限制下,如果有几千个进程同时运行,操作系统连调度都会成问题。
多线程模式通常比多进程快一点,但是也快不到哪去,而且,多线程模式致命的缺点就是任何一个线程挂掉都可能直接造成整个进程崩溃,因为所有线程共享进程的内存。在Windows上,如果一个线程执行的代码出了问题,你经常可以看到这样的提示:“该程序执行了非法操作,即将关闭”,其实往往是某个线程出了问题,但是操作系统会强制结束整个进程。
在Windows下,多线程的效率比多进程要高,所以微软的IIS服务器默认采用多线程模式。由于多线程存在稳定性的问题,IIS的稳定性就不如Apache。为了缓解这个问题,IIS和Apache现在又有多进程+多线程的混合模式,真是把问题越搞越复杂。
!!线程切换
无论是多进程还是多线程,只要数量一多,效率肯定上不去,为什么呢?
我们打个比方,假设你不幸正在准备中考,每天晚上需要做语文、数学、英语、物理、化学这5科的作业,每项作业耗时1小时。
如果你先花1小时做语文作业,做完了,再花1小时做数学作业,这样,依次全部做完,一共花5小时,这种方式称为单任务模型,或者批处理任务模型。
假设你打算切换到多任务模型,可以先做1分钟语文,再切换到数学作业,做1分钟,再切换到英语,以此类推,只要切换速度足够快,这种方式就和单核CPU执行多任务是一样的了,以幼儿园小朋友的眼光来看,你就正在同时写5科作业。
但是,切换作业是有代价的,比如从语文切到数学,要先收拾桌子上的语文书本、钢笔(这叫保存现场),然后,打开数学课本、找出圆规直尺(这叫准备新环境),才能开始做数学作业。操作系统在切换进程或者线程时也是一样的,它需要先保存当前执行的现场环境(CPU寄存器状态、内存页等),然后,把新任务的执行环境准备好(恢复上次的寄存器状态,切换内存页等),才能开始执行。这个切换过程虽然很快,但是也需要耗费时间。如果有几千个任务同时进行,操作系统可能就主要忙着切换任务,根本没有多少时间去执行任务了,这种情况最常见的就是硬盘狂响,点窗口无反应,系统处于假死状态。
所以,多任务一旦多到一个限度,就会消耗掉系统所有的资源,结果效率急剧下降,所有任务都做不好。
!!计算密集型 vs. IO密集型
是否采用多任务的第二个考虑是任务的类型。我们可以把任务分为计算密集型和IO密集型。
计算密集型任务的特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。这种计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数。
计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。Python这样的脚本语言运行效率很低,完全不适合计算密集型任务。对于计算密集型任务,最好用C语言编写。
第二种任务的类型是IO密集型,涉及到网络、磁盘IO的任务都是IO密集型任务,这类任务的特点是CPU消耗很少,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度)。对于IO密集型任务,任务越多,CPU效率越高,但也有一个限度。常见的大部分任务都是IO密集型任务,比如Web应用。
IO密集型任务执行期间,99%的时间都花在IO上,花在CPU上的时间很少,因此,用运行速度极快的C语言替换用Python这样运行速度极低的脚本语言,完全无法提升运行效率。对于IO密集型任务,最合适的语言就是开发效率最高(代码量最少)的语言,脚本语言是首选,C语言最差。
!!异步IO
考虑到CPU和IO之间巨大的速度差异,一个任务在执行的过程中大部分时间都在等待IO操作,单进程单线程模型会导致别的任务无法并行执行,因此,我们才需要多进程模型或者多线程模型来支持多任务并发执行。
现代操作系统对IO操作已经做了巨大的改进,最大的特点就是支持异步IO。如果充分利用操作系统提供的异步IO支持,就可以用单进程单线程模型来执行多任务,这种全新的模型称为事件驱动模型,Nginx就是支持异步IO的Web服务器,它在单核CPU上采用单进程模型就可以高效地支持多任务。在多核CPU上,可以运行多个进程(数量与CPU核心数相同),充分利用多核CPU。由于系统总的进程数量十分有限,因此操作系统调度非常高效。用异步IO编程模型来实现多任务是一个主要的趋势。
对应到Python语言,单线程的异步编程模型称为协程,有了协程的支持,就可以基于事件驱动编写高效的多任务程序。
我们接下来讨论如何编写。
很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。
什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。
现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么执行多任务的呢?
答案就是操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样。
真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。
对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。
有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。
由于每个进程至少要干一件事,所以,一个进程至少有一个线程。当然,像Word这种复杂的进程可以有多个线程,多个线程可以同时执行,多线程的执行方式和多进程是一样的,也是由操作系统在多个线程之间快速切换,让每个线程都短暂地交替运行,看起来就像同时执行一样。当然,真正地同时执行多线程需要多核CPU才可能实现。
我们前面编写的所有的Python程序,都是执行单任务的进程,也就是只有一个线程。如果我们要同时执行多个任务怎么办?
有两种解决方案:
一种是启动多个进程,每个进程虽然只有一个线程,但多个进程可以一块执行多个任务。
还有一种方法是启动一个进程,在一个进程内启动多个线程,这样,多个线程也可以一块执行多个任务。
当然还有第三种方法,就是启动多个进程,每个进程再启动多个线程,这样同时执行的任务就更多了,当然这种模型更复杂,实际很少采用。
总结一下就是,多任务的实现有3种方式:
* 多进程模式;
* 多线程模式;
* 多进程+多线程模式。
同时执行多个任务通常各个任务之间并不是没有关联的,而是需要相互通信和协调,有时,任务1必须暂停等待任务2完成后才能继续执行,有时,任务3和任务4又不能同时执行,所以,多进程和多线程的程序的复杂度要远远高于我们前面写的单进程单线程的程序。
因为复杂度高,调试困难,所以,不是迫不得已,我们也不想编写多任务。但是,有很多时候,没有多任务还真不行。想想在电脑上看电影,就必须由一个线程播放视频,另一个线程播放音频,否则,单线程实现的话就只能先把视频播放完再播放音频,或者先把音频播放完再播放视频,这显然是不行的。
Python既支持多进程,又支持多线程,我们会讨论如何编写这两种多任务程序。
!!小结
线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。
多进程和多线程的程序涉及到同步、数据共享的问题,编写起来更复杂。
[[多进程]]
[[多线程]]
[[ThreadLocal]]
[[进程 vs. 线程]]
[[分布式进程]]
[[正则表达式]]
!类和实例
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
仍以Student类为例,在Python中,定义类是通过class关键字:
```bash
class Student(object):
pass
```
class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。
定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现的:
```bash
>>> bart = Student()
>>> bart
<__main__.Student object at 0x10a67a590>
>>> Student
<class '__main__.Student'>
```
可以看到,变量bart指向的就是一个Student的实例,后面的0x10a67a590是内存地址,每个object的地址都不一样,而Student本身则是一个类。
可以自由地给一个实例变量绑定属性,比如,给实例bart绑定一个name属性:
```bash
>>> bart.name = 'Bart Simpson'
>>> bart.name
'Bart Simpson'
```
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的`__init__`方法,在创建实例的时候,就把name,score等属性绑上去:
```bash
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
```
__''注意:特殊方法“`__init__`”前后分别有两个下划线!!!''__
注意到`__init__`方法的第一个参数永远是self,表示创建的实例本身,因此,在`__init__`方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
有了`__init__`方法,在创建实例的时候,就不能传入空的参数了,必须传入与`__init__`方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:
```bash
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59
```
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。
!!数据封装
面向对象编程的一个重要特点就是数据封装。在上面的Student类中,每个实例就拥有各自的name和score这些数据。我们可以通过函数来访问这些数据,比如打印一个学生的成绩:
```bash
>>> def print_score(std):
... print('%s: %s' % (std.name, std.score))
...
>>> print_score(bart)
Bart Simpson: 59
```
但是,既然Student实例本身就拥有这些数据,要访问这些数据,就没有必要从外面的函数去访问,可以直接在Student类的内部定义访问数据的函数,这样,就把“数据”给封装起来了。这些封装数据的函数是和Student类本身是关联起来的,我们称之为类的方法:
```bash
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):
print('%s: %s' % (self.name, self.score))
```
要定义一个方法,除了第一个参数是self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入:
```bash
>>> bart.print_score()
Bart Simpson: 59
```
这样一来,我们从外部看Student类,就只需要知道,创建实例需要给出name和score,而如何打印,都是在Student类的内部定义的,这些数据和逻辑被“封装”起来了,调用很容易,但却不用知道内部实现的细节。
封装的另一个好处是可以给Student类增加新的方法,比如get_grade:
```bash
class Student(object):
...
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
```
同样的,get_grade方法可以直接在实例变量上调用,不需要知道内部实现细节:
```bash
# -*- coding: utf-8 -*-
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
lisa = Student('Lisa', 99)
bart = Student('Bart', 59)
print(lisa.name, lisa.get_grade())
print(bart.name, bart.get_grade())
```
!!小结
类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响;
方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;
通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。
和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同:
```bash
>>> bart = Student('Bart Simpson', 59)
>>> lisa = Student('Lisa Simpson', 87)
>>> bart.age = 8
>>> bart.age
8
>>> lisa.age
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute 'age'
```
!!参考源码
[[student.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_basic/student.py]]
!关于作者
[[廖雪峰|https://weibo.com/liaoxuefeng]],十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Scheme/Objective C等,对开源框架有深入研究.
著有《Spring 2.0核心技术与最佳实践》一书,多个业余开源项目托管在[[GitHub|https://github.com/michaelliao]],欢迎微博交流:https://weibo.com/liaoxuefeng
赞助他:https://www.liaoxuefeng.com/webpage/donate
!列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):
```bash
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环:
```bash
>>> L = []
>>> for x in range(1, 11):
... L.append(x * x)
...
>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
```
但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:
```bash
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
```
写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。
for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:
```bash
>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
```
还可以使用两层循环,可以生成全排列:
```bash
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
```
三层和三层以上的循环就很少用到了。
运用列表生成式,可以写出非常简洁的代码。例如,列出当前目录下的所有文件和目录名,可以通过一行代码实现:
```bash
>>> import os # 导入os模块,模块的概念后面讲到
>>> [d for d in os.listdir('.')] # os.listdir可以列出文件和目录
['.emacs.d', '.ssh', '.Trash', 'Adlm', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Library', 'Movies', 'Music', 'Pictures', 'Public', 'VirtualBox VMs', 'Workspace', 'XCode']
```
for循环其实可以同时使用两个甚至多个变量,比如dict的items()可以同时迭代key和value:
```bash
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
>>> for k, v in d.items():
... print(k, '=', v)
...
y = B
x = A
z = C
```
因此,列表生成式也可以使用两个变量来生成list:
```bash
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
>>> [k + '=' + v for k, v in d.items()]
['y=B', 'x=A', 'z=C']
```
最后把一个list中所有的字符串变成小写:
```bash
>>> L = ['Hello', 'World', 'IBM', 'Apple']
>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']
```
!!练习
如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错:
```bash
>>> L = ['Hello', 'World', 18, 'Apple', None]
>>> [s.lower() for s in L]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
AttributeError: 'int' object has no attribute 'lower'
```
使用内建的isinstance函数可以判断一个变量是不是字符串:
```bash
>>> x = 'abc'
>>> y = 123
>>> isinstance(x, str)
True
>>> isinstance(y, str)
False
```
请修改列表生成式,通过添加if语句保证列表生成式能正确地执行:
```bash
# -*- coding: utf-8 -*-
L1 = ['Hello', 'World', 18, 'Apple', None]
L2 = ???
# 测试:
print(L2)
if L2 == ['hello', 'world', 'apple']:
print('测试通过!')
else:
print('测试失败!')
```
!!小结
运用列表生成式,可以快速生成list,可以通过一个list推导出另一个list,而代码却十分简洁。
!!参考源码
[[do_listcompr.py|https://github.com/michaelliao/learn-python3/blob/master/samples/advance/do_listcompr.py]]
!面向对象编程
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。
而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。
我们以一个例子来说明面向过程和面向对象在程序流程上的不同之处。
假设我们要处理学生的成绩表,为了表示一个学生的成绩,面向过程的程序可以用一个dict表示:
```bash
std1 = { 'name': 'Michael', 'score': 98 }
std2 = { 'name': 'Bob', 'score': 81 }
```
而处理学生成绩可以通过函数实现,比如打印学生的成绩:
```bash
def print_score(std):
print('%s: %s' % (std['name'], std['score']))
```
如果采用面向对象的程序设计思想,我们首选思考的不是程序的执行流程,而是Student这种数据类型应该被视为一个对象,这个对象拥有name和score这两个属性(Property)。如果要打印一个学生的成绩,首先必须创建出这个学生对应的对象,然后,给对象发一个print_score消息,让对象自己把自己的数据打印出来。
```bash
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):
print('%s: %s' % (self.name, self.score))
```
给对象发消息实际上就是调用对象对应的关联函数,我们称之为对象的方法(Method)。面向对象的程序写出来就像这样:
```bash
bart = Student('Bart Simpson', 59)
lisa = Student('Lisa Simpson', 87)
bart.print_score()
lisa.print_score()
```
面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student。
所以,面向对象的设计思想是抽象出Class,根据Class创建Instance。
面向对象的抽象程度又比函数要高,因为一个Class既包含数据,又包含操作数据的方法。
!!小结
数据封装、继承和多态是面向对象的三大特点,我们在下面会详细讲解。
[[类和实例]]
[[访问限制]]
[[继承和多态]]
[[获取对象信息]]
[[实例属性和类属性]]
[[面向对象高级编程]]
[[使用__slots__]]
[[使用@property]]
[[多重继承]]
[[定制类]]
[[使用枚举类]]
[[使用元类]]
!面向对象高级编程
数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能。
我们会讨论多重继承、定制类、元类等概念。
!模块
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。
使用模块有什么好处?
最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。点这里查看Python的所有内置函数。
你也许还想到,如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。
举个例子,一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块。
现在,假设我们的abc和xyz这两个模块名字与其他模块冲突了,于是我们可以通过包来组织模块,避免冲突。方法是选择一个顶层包名,比如mycompany,按照如下目录存放:
```
mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py
```
引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。现在,abc.py模块的名字就变成了mycompany.abc,类似的,xyz.py的模块名变成了mycompany.xyz。
请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany。
类似的,可以有多级目录,组成多级层次的包结构。比如如下的目录结构:
```
mycompany
├─ web
│ ├─ __init__.py
│ ├─ utils.py
│ └─ www.py
├─ __init__.py
├─ abc.py
└─ xyz.py
```
文件www.py的模块名就是mycompany.web.www,两个文件utils.py的模块名分别是mycompany.utils和mycompany.web.utils。
__''自己创建模块时要注意命名,不能和Python自带的模块名称冲突。例如,系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。''__
mycompany.web也是一个模块,请指出该模块对应的.py文件。
!总结
模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用。
创建自己的模块时,要注意:
* 模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
* 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块。
!关于内容分享声明
我们基于“''内容希望被共享''”的理念,创建了伯乐手册,从而鼓励内容被更多的分享传播。
在鼓励分享内容的同时,我们也希望内容创作者的权利得到保护。
因此,我们参考[[CC知识共享协议|http://creativecommons.net.cn/]]提出内容共享声明,并提倡内容分享者在发布内容时,选择三种声明中的任意一种,从而保护自己的权利。
!第一种声明:
署名-相同方式分享-维权代理
!第二种声明:
禁止商用-署名-相同方式分享-维权代理
!第三种声明
禁止商用-禁止演绎-署名-相同方式分享-维权代理
!关于上述声明中五项条件的说明:
!!署名
*其他任何人在使用用户所分享的内容时,必须提到原作者
!!禁止商用
*不得用于盈利性目的
!!禁止演绎
*不得修改原作品, 不得再创作
!!相同方式分享
*在分享内容时,必须使用和原作相同的内容分享声明,且该声明的内容必须在作品中显著位置展示。
!!维权代理
*如果在使用包含了[[内容分享声明|http://www.bolebook.com/#ContentShareStatements]]的内容时,违反了内容分享声明,则内容创作者将委托律师或其他维权组织作为维权代理。
!对内容分享声明的解释:
内容分享声明,是内容创作者(包含原创者、再创作者)在发布内容时同步发布的声明。
声明的目的在于鼓励内容更多的被分享,同时要求内容使用者尊重内容创作者的权利。
!!补充条款(仅适用于伯乐手册上分享的内容):
*一、''如果内容创作者没有主动声明'',则__''默认采用第一种声明。''__
*二、如果内容创作者没有事先指定,即默认[[伯乐手册|http://www.bolebook.com]]作为维权代理。当然,内容创作者可以根据自己的要求更换维权代理
以上协议的正式法律文本未来将会补充完整。
请点击控制台,然后在信息 那一栏下面修改文件名、作者名等信息。
我们不建议修改其他内容
当然了,如果你希望修改也可以,毕竟下载到你的桌面的文件都属于你。
!匿名函数
当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。
在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:
```bash
>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
```
通过对比可以看出,匿名函数lambda x: x * x实际上就是:
```bash
def f(x):
return x * x
```
关键字lambda表示匿名函数,冒号前面的x表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
```bash
>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)
25
```
同样,也可以把匿名函数作为返回值返回,比如:
```bash
def build(x, y):
return lambda: x * x + y * y
```
!!练习
请用匿名函数改造下面的代码:
```bash
# -*- coding: utf-8 -*-
def is_odd(n):
return n % 2 == 1
L = list(filter(is_odd, range(1, 20)))
print(L)
```
!!小结
Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。
!偏函数
Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。
在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下:
int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:
```bash
>>> int('12345')
12345
```
但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换:
```bash
>>> int('12345', base=8)
5349
>>> int('12345', 16)
74565
```
假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:
```bash
def int2(x, base=2):
return int(x, base)
```
这样,我们转换二进制就非常方便了:
```bash
>>> int2('1000000')
64
>>> int2('1010101')
85
```
functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:
```bash
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85
```
所以,简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
注意到上面的新的int2函数,仅仅是把base参数重新设定默认值为2,但也可以在函数调用时传入其他值:
```bash
>>> int2('1000000', base=10)
1000000
```
最后,创建偏函数时,实际上可以接收函数对象、*args和**kw这3个参数,当传入:
```bash
int2 = functools.partial(int, base=2)
```
实际上固定了int()函数的关键字参数base,也就是:
```bash
int2('10010')
```
相当于:
```bash
kw = { 'base': 2 }
int('10010', **kw)
```
当传入:
```bash
max2 = functools.partial(max, 10)
```
实际上会把10作为*args的一部分自动加到左边,也就是:
```bash
max2(5, 6, 7)
```
相当于:
```bash
args = (10, 5, 6, 7)
max(*args)
```
结果为10。
!!小结
当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
!!参考源码
[[do_partial.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/do_partial.py]]
!期末总结
终于到了期末总结的时刻了!
经过一段时间的学习,相信你对Python已经初步掌握。一开始,可能觉得Python上手很容易,可是越往后学,会越困难,有的时候,发现理解不了代码,这时,不妨停下来思考一下,先把概念搞清楚,代码自然就明白了。
Python非常适合初学者用来进入计算机编程领域。Python属于非常高级的语言,掌握了这门高级语言,就对计算机编程的核心思想——抽象有了初步理解。如果希望继续深入学习计算机编程,可以学习Java、C、JavaScript、Lisp等不同类型的语言,只有多掌握不同领域的语言,有比较才更有收获。
[img[python80.jpeg]]
!切片
取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:
```bash
>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
```
取前3个元素,应该怎么做?
笨办法:
```bash
>>> [L[0], L[1], L[2]]
['Michael', 'Sarah', 'Tracy']
```
之所以是笨办法是因为扩展一下,取前N个元素就没辙了。
取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:
```bash
>>> r = []
>>> n = 3
>>> for i in range(n):
... r.append(L[i])
...
>>> r
['Michael', 'Sarah', 'Tracy']
```
对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
```bash
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']
```
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
```bash
>>> L[:3]
['Michael', 'Sarah', 'Tracy']
```
也可以从索引1开始,取出2个元素出来:
```bash
>>> L[1:3]
['Sarah', 'Tracy']
```
类似的,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:
```bash
>>> L[-2:]
['Bob', 'Jack']
>>> L[-2:-1]
['Bob']
```
记住倒数第一个元素的索引是-1。
切片操作十分有用。我们先创建一个0-99的数列:
```bash
>>> L = list(range(100))
>>> L
[0, 1, 2, 3, ..., 99]
```
可以通过切片轻松取出某一段数列。比如前10个数:
```bash
>>> L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
后10个数:
```bash
>>> L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
```
前11-20个数:
```bash
>>> L[10:20]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
```
前10个数,每两个取一个:
```bash
>>> L[:10:2]
[0, 2, 4, 6, 8]
```
所有数,每5个取一个:
```bash
>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
```
甚至什么都不写,只写[:]就可以原样复制一个list:
```bash
>>> L[:]
[0, 1, 2, 3, ..., 99]
```
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
```bash
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
```
字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
```bash
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'
```
在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
!!练习
利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
```bash
# -*- coding: utf-8 -*-
def trim(s):
return s
# 测试:
if trim('hello ') != 'hello':
print('测试失败!')
elif trim(' hello') != 'hello':
print('测试失败!')
elif trim(' hello ') != 'hello':
print('测试失败!')
elif trim(' hello world ') != 'hello world':
print('测试失败!')
elif trim('') != '':
print('测试失败!')
elif trim(' ') != '':
print('测试失败!')
else:
print('测试成功!')
```
!!小结
有了切片操作,很多地方循环就不再需要了。Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。
参考源码
[[do_slice.py|https://github.com/michaelliao/learn-python3/blob/master/samples/advance/do_slice.py]]
!生成器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。
所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。
要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:
```bash
>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
<generator object <genexpr> at 0x1022ef630>
```
创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator。
我们可以直接打印出list的每一个元素,但我们怎么打印出generator的每一个元素呢?
如果要一个一个打印出来,可以通过next()函数获得generator的下一个返回值:
```bash
>>> next(g)
0
>>> next(g)
1
>>> next(g)
4
>>> next(g)
9
>>> next(g)
16
>>> next(g)
25
>>> next(g)
36
>>> next(g)
49
>>> next(g)
64
>>> next(g)
81
>>> next(g)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
```
我们讲过,generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。
当然,上面这种不断调用next(g)实在是太变态了,正确的方法是使用for循环,因为generator也是可迭代对象:
```bash
>>> g = (x * x for x in range(10))
>>> for n in g:
... print(n)
...
0
1
4
9
16
25
36
49
64
81
```
所以,我们创建了一个generator后,基本上永远不会调用next(),而是通过for循环来迭代它,并且不需要关心StopIteration的错误。
generator非常强大。如果推算的算法比较复杂,用类似列表生成式的for循环无法实现的时候,还可以用函数来实现。
比如,著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:
1, 1, 2, 3, 5, 8, 13, 21, 34, ...
斐波拉契数列用列表生成式写不出来,但是,用函数把它打印出来却很容易:
```bash
def fib(max):
n, a, b = 0, 0, 1
while n < max:
print(b)
a, b = b, a + b
n = n + 1
return 'done'
```
注意,赋值语句:
```
a, b = b, a + b
```
相当于:
```
t = (b, a + b) # t是一个tuple
a = t[0]
b = t[1]
```
但不必显式写出临时变量t就可以赋值。
上面的函数可以输出斐波那契数列的前N个数:
```bash
>>> fib(6)
1
1
2
3
5
8
'done'
```
仔细观察,可以看出,fib函数实际上是定义了斐波拉契数列的推算规则,可以从第一个元素开始,推算出后续任意的元素,这种逻辑其实非常类似generator。
也就是说,上面的函数和generator仅一步之遥。要把fib函数变成generator,只需要把print(b)改为yield b就可以了:
```bash
def fib(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
return 'done'
```
这就是定义generator的另一种方法。如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator:
```bash
>>> f = fib(6)
>>> f
<generator object fib at 0x104feaaa0>
```
这里,最难理解的就是generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
举个简单的例子,定义一个generator,依次返回数字1,3,5:
```bash
def odd():
print('step 1')
yield 1
print('step 2')
yield(3)
print('step 3')
yield(5)
```
调用该generator时,首先要生成一个generator对象,然后用next()函数不断获得下一个返回值:
```bash
>>> o = odd()
>>> next(o)
step 1
1
>>> next(o)
step 2
3
>>> next(o)
step 3
5
>>> next(o)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
```
可以看到,odd不是普通函数,而是generator,在执行过程中,遇到yield就中断,下次又继续执行。执行3次yield后,已经没有yield可以执行了,所以,第4次调用next(o)就报错。
回到fib的例子,我们在循环过程中不断调用yield,就会不断中断。当然要给循环设置一个条件来退出循环,不然就会产生一个无限数列出来。
同样的,把函数改成generator后,我们基本上从来不会用next()来获取下一个返回值,而是直接使用for循环来迭代:
```bash
>>> for n in fib(6):
... print(n)
...
1
1
2
3
5
8
```
但是用for循环调用generator时,发现拿不到generator的return语句的返回值。如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的value中:
```bash
>>> g = fib(6)
>>> while True:
... try:
... x = next(g)
... print('g:', x)
... except StopIteration as e:
... print('Generator return value:', e.value)
... break
...
g: 1
g: 1
g: 2
g: 3
g: 5
g: 8
Generator return value: done
```
关于如何捕获错误,后面的错误处理还会详细讲解。
练习
杨辉三角定义如下:
```bash
1
/ \
1 1
/ \ / \
1 2 1
/ \ / \ / \
1 3 3 1
/ \ / \ / \ / \
1 4 6 4 1
/ \ / \ / \ / \ / \
1 5 10 10 5 1
```
把每一行看做一个list,试写一个generator,不断输出下一行的list:
```bash
# -*- coding: utf-8 -*-
def triangles():
pass
# 期待输出:
# [1]
# [1, 1]
# [1, 2, 1]
# [1, 3, 3, 1]
# [1, 4, 6, 4, 1]
# [1, 5, 10, 10, 5, 1]
# [1, 6, 15, 20, 15, 6, 1]
# [1, 7, 21, 35, 35, 21, 7, 1]
# [1, 8, 28, 56, 70, 56, 28, 8, 1]
# [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
n = 0
results = []
for t in triangles():
print(t)
results.append(t)
n = n + 1
if n == 10:
break
if results == [
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1],
[1, 5, 10, 10, 5, 1],
[1, 6, 15, 20, 15, 6, 1],
[1, 7, 21, 35, 35, 21, 7, 1],
[1, 8, 28, 56, 70, 56, 28, 8, 1],
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
]:
print('测试通过!')
else:
print('测试失败!')
```
!!小结
generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。
要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。对于函数改成的generator来说,遇到return语句或者执行到函数体最后一行语句,就是结束generator的指令,for循环随之结束。
请注意区分普通函数和generator函数,普通函数调用直接返回结果:
```bash
>>> r = abs(6)
>>> r
6
generator函数的“调用”实际返回一个generator对象:
>>> g = fib(6)
>>> g
<generator object fib at 0x1022ef948>
```
!!参考源码
[[do_generator.py|https://github.com/michaelliao/learn-python3/blob/master/samples/advance/do_generator.py]]
!实例属性和类属性
由于Python是动态语言,根据类创建的实例可以任意绑定属性。
给实例绑定属性的方法是通过实例变量,或者通过self变量:
```bash
class Student(object):
def __init__(self, name):
self.name = name
s = Student('Bob')
s.score = 90
```
但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有:
```bash
class Student(object):
name = 'Student'
```
当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。来测试一下:
```bash
>>> class Student(object):
... name = 'Student'
...
>>> s = Student() # 创建实例s
>>> print(s.name) # 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性
Student
>>> print(Student.name) # 打印类的name属性
Student
>>> s.name = 'Michael' # 给实例绑定name属性
>>> print(s.name) # 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性
Michael
>>> print(Student.name) # 但是类属性并未消失,用Student.name仍然可以访问
Student
>>> del s.name # 如果删除实例的name属性
>>> print(s.name) # 再次调用s.name,由于实例的name属性没有找到,类的name属性就显示出来了
Student
```
从上面的例子可以看出,在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。
!!练习
为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加:
```bash
# -*- coding: utf-8 -*-
class Student(object):
count = 0
def __init__(self, name):
self.name = name
# 测试:
if Student.count != 0:
print('测试失败!')
else:
bart = Student('Bart')
if Student.count != 1:
print('测试失败!')
else:
lisa = Student('Bart')
if Student.count != 2:
print('测试失败!')
else:
print('Students:', Student.count)
print('测试通过!')
```
!!小结
实例属性属于各个实例所有,互不干扰;
类属性属于类所有,所有实例共享一个属性;
不要对实例属性和类属性使用相同的名字,否则将产生难以发现的错误。
!实战
看完了教程,是不是有这么一种感觉:看的时候觉得很简单,照着教程敲代码也没啥大问题。
于是准备开始独立写代码,就发现不知道从哪开始下手了。
这种情况是完全正常的。好比学写作文,学的时候觉得简单,写的时候就无从下笔了。
虽然这个教程是面向小白的零基础Python教程,但是我们的目标不是学到60分,而是学到90分。
所以,用Python写一个真正的Web App吧!
目标
我们设定的实战目标是一个Blog网站,包含日志、用户和评论3大部分。
很多童鞋会想,这是不是太简单了?
比如webpy.org上就提供了一个Blog的例子,目测也就100行代码。
但是,这样的页面:
[img[python62.png]]
你拿得出手么?
我们要写出用户真正看得上眼的页面,首页长得像这样:
[img[python63.jpg]]
评论区:
[img[python64.jpg]]
还有极其强大的后台管理页面:
[img[python65.jpg]]
是不是一下子变得高端大气上档次了?
!!项目名称
必须是高端大气上档次的名称,命名为awesome-python3-webapp。
!!项目计划
项目计划开发周期为16天。每天,你需要完成教程中的内容。如果你觉得编写代码难度实在太大,可以参考一下当天在GitHub上的代码。
第N天的代码在https://github.com/michaelliao/awesome-python3-webapp/tree/day-N上。比如第1天就是:
https://github.com/michaelliao/awesome-python3-webapp/tree/day-01
以此类推。
要预览awesome-python3-webapp的最终页面效果,请猛击:
[[awesome.liaoxuefeng.com|http://awesome.liaoxuefeng.com/]]
!!正式开启实战课程
[[Day 1 - 搭建开发环境]]
[[Day 2 - 编写Web App骨架]]
[[Day 3 - 编写ORM]]
[[Day 4 - 编写Model]]
[[Day 5 - 编写Web框架]]
[[Day 6 - 编写配置文件]]
[[Day 7 - 编写MVC]]
[[Day 8 - 构建前端]]
[[Day 9 - 编写API]]
[[Day 10 - 用户注册和登录]]
[[Day 11 - 编写日志创建页]]
[[Day 12 - 编写日志列表页]]
[[Day 13 - 提升开发效率]]
[[Day 14 - 完成Web App]]
[[Day 15 - 部署Web App]]
[[Day 16 - 编写移动App]]
!使用`__slots__`
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:
```bash
class Student(object):
pass
```
然后,尝试给实例绑定一个属性:
```bash
>>> s = Student()
>>> s.name = 'Michael' # 动态给实例绑定一个属性
>>> print(s.name)
Michael
```
还可以尝试给实例绑定一个方法:
```bash
>>> def set_age(self, age): # 定义一个函数作为实例方法
... self.age = age
...
>>> from types import MethodType
>>> s.set_age = MethodType(set_age, s) # 给实例绑定一个方法
>>> s.set_age(25) # 调用实例方法
>>> s.age # 测试结果
25
```
但是,给一个实例绑定的方法,对另一个实例是不起作用的:
```bash
>>> s2 = Student() # 创建新的实例
>>> s2.set_age(25) # 尝试调用方法
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute 'set_age'
```
为了给所有实例都绑定方法,可以给class绑定方法:
```bash
>>> def set_score(self, score):
... self.score = score
...
>>> Student.set_score = set_score
```
给class绑定方法后,所有实例均可调用:
```bash
>>> s.set_score(100)
>>> s.score
100
>>> s2.set_score(99)
>>> s2.score
99
```
通常情况下,上面的set_score方法可以直接定义在class中,但动态绑定允许我们在程序运行的过程中动态给class加上功能,这在静态语言中很难实现。
!!使用`__slots__`
但是,如果我们想要限制实例的属性怎么办?比如,只允许对Student实例添加name和age属性。
为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的`__slots__`变量,来限制该class实例能添加的属性:
```bash
class Student(object):
__slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称
```
然后,我们试试:
```bash
>>> s = Student() # 创建新的实例
>>> s.name = 'Michael' # 绑定属性'name'
>>> s.age = 25 # 绑定属性'age'
>>> s.score = 99 # 绑定属性'score'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute 'score'
```
由于'score'没有被放到`__slots__`中,所以不能绑定score属性,试图绑定score将得到AttributeError的错误。
使用`__slots__`要注意,`__slots__`定义的属性仅对当前类实例起作用,对继承的子类是不起作用的:
```bash
>>> class GraduateStudent(Student):
... pass
...
>>> g = GraduateStudent()
>>> g.score = 9999
```
除非在子类中也定义`__slots__`,这样,子类实例允许定义的属性就是自身的`__slots__`加上父类的`__slots__`。
!!参考源码
[[use_slots.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/use_slots.py]]
!使用@property
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:
```bash
s = Student()
s.score = 9999
```
这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:
```bash
class Student(object):
def get_score(self):
return self._score
def set_score(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer!')
if value < 0 or value > 100:
raise ValueError('score must between 0 ~ 100!')
self._score = value
```
现在,对任意的Student实例进行操作,就不能随心所欲地设置score了:
```bash
>>> s = Student()
>>> s.set_score(60) # ok!
>>> s.get_score()
60
>>> s.set_score(9999)
Traceback (most recent call last):
...
ValueError: score must between 0 ~ 100!
```
但是,上面的调用方法又略显复杂,没有直接用属性这么直接简单。
有没有既能检查参数,又可以用类似属性这样简单的方式来访问类的变量呢?对于追求完美的Python程序员来说,这是必须要做到的!
还记得装饰器(decorator)可以给函数动态加上功能吗?对于类的方法,装饰器一样起作用。Python内置的@property装饰器就是负责把一个方法变成属性调用的:
```bash
class Student(object):
@property
def score(self):
return self._score
@score.setter
def score(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer!')
if value < 0 or value > 100:
raise ValueError('score must between 0 ~ 100!')
self._score = value
```
@property的实现比较复杂,我们先考察如何使用。把一个getter方法变成属性,只需要加上@property就可以了,此时,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值,于是,我们就拥有一个可控的属性操作:
```bash
>>> s = Student()
>>> s.score = 60 # OK,实际转化为s.set_score(60)
>>> s.score # OK,实际转化为s.get_score()
60
>>> s.score = 9999
Traceback (most recent call last):
...
ValueError: score must between 0 ~ 100!
```
注意到这个神奇的@property,我们在对实例属性操作的时候,就知道该属性很可能不是直接暴露的,而是通过getter和setter方法来实现的。
还可以定义只读属性,只定义getter方法,不定义setter方法就是一个只读属性:
```bash
class Student(object):
@property
def birth(self):
return self._birth
@birth.setter
def birth(self, value):
self._birth = value
@property
def age(self):
return 2015 - self._birth
```
上面的birth是可读写属性,而age就是一个只读属性,因为age可以根据birth和当前时间计算出来。
!!小结
@property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。
!!练习
请利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution:
```bash
# -*- coding: utf-8 -*-
class Screen(object):
pass
# 测试:
s = Screen()
s.width = 1024
s.height = 768
print('resolution =', s.resolution)
if s.resolution == 786432:
print('测试通过!')
else:
print('测试失败!')
```
!!参考源码
[[use_property.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/use_property.py]]
!使用枚举类
当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份:
```
JAN = 1
FEB = 2
MAR = 3
...
NOV = 11
DEC = 12
```
好处是简单,缺点是类型是int,并且仍然是变量。
更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能:
```bash
from enum import Enum
Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
```
这样我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员:
```bash
for name, member in Month.__members__.items():
print(name, '=>', member, ',', member.value)
```
value属性则是自动赋给成员的int常量,默认从1开始计数。
如果需要更精确地控制枚举类型,可以从Enum派生出自定义类:
```bash
from enum import Enum, unique
@unique
class Weekday(Enum):
Sun = 0 # Sun的value被设定为0
Mon = 1
Tue = 2
Wed = 3
Thu = 4
Fri = 5
Sat = 6
```
@unique装饰器可以帮助我们检查保证没有重复值。
访问这些枚举类型可以有若干种方法:
```bash
>>> day1 = Weekday.Mon
>>> print(day1)
Weekday.Mon
>>> print(Weekday.Tue)
Weekday.Tue
>>> print(Weekday['Tue'])
Weekday.Tue
>>> print(Weekday.Tue.value)
2
>>> print(day1 == Weekday.Mon)
True
>>> print(day1 == Weekday.Tue)
False
>>> print(Weekday(1))
Weekday.Mon
>>> print(day1 == Weekday(1))
True
>>> Weekday(7)
Traceback (most recent call last):
...
ValueError: 7 is not a valid Weekday
>>> for name, member in Weekday.__members__.items():
... print(name, '=>', member)
...
Sun => Weekday.Sun
Mon => Weekday.Mon
Tue => Weekday.Tue
Wed => Weekday.Wed
Thu => Weekday.Thu
Fri => Weekday.Fri
Sat => Weekday.Sat
```
可见,既可以用成员名称引用枚举常量,又可以直接根据value的值获得枚举常量。
!!练习
把Student的gender属性改造为枚举类型,可以避免使用字符串:
```bash
# -*- coding: utf-8 -*-
from enum import Enum, unique
class Gender(Enum):
Male = 0
Female = 1
class Student(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
# 测试:
bart = Student('Bart', Gender.Male)
if bart.gender == Gender.Male:
print('测试通过!')
else:
print('测试失败!')
```
!!小结
Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较。
!!参考源码
[[use_enum.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/use_enum.py]]
使用模板
Web框架把我们从WSGI中拯救出来了。现在,我们只需要不断地编写函数,带上URL,就可以继续Web App的开发了。
但是,Web App不仅仅是处理逻辑,展示给用户的页面也非常重要。在函数中返回一个包含HTML的字符串,简单的页面还可以,但是,想想新浪首页的6000多行的HTML,你确信能在Python的字符串中正确地写出来么?反正我是做不到。
俗话说得好,不懂前端的Python工程师不是好的产品经理。有Web开发经验的同学都明白,Web App最复杂的部分就在HTML页面。HTML不仅要正确,还要通过CSS美化,再加上复杂的JavaScript脚本来实现各种交互和动画效果。总之,生成HTML页面的难度很大。
由于在Python代码里拼字符串是不现实的,所以,模板技术出现了。
使用模板,我们需要预先准备一个HTML文档,这个HTML文档不是普通的HTML,而是嵌入了一些变量和指令,然后,根据我们传入的数据,替换后,得到最终的HTML,发送给用户:
[img[python61.png]]
这就是传说中的MVC:Model-View-Controller,中文名“模型-视图-控制器”。
Python处理URL的函数就是C:Controller,Controller负责业务逻辑,比如检查用户名是否存在,取出用户信息等等;
包含变量`{{ name }}`的模板就是V:View,View负责显示逻辑,通过简单地替换一些变量,View最终输出的就是用户看到的HTML。
MVC中的Model在哪?Model是用来传给View的,这样View在替换变量的时候,就可以从Model中取出相应的数据。
上面的例子中,Model就是一个dict:
```bash
{ 'name': 'Michael' }
```
只是因为Python支持关键字参数,很多Web框架允许传入关键字参数,然后,在框架内部组装出一个dict作为Model。
现在,我们把上次直接输出字符串作为HTML的例子用高端大气上档次的MVC模式改写一下:
```bash
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
return render_template('home.html')
@app.route('/signin', methods=['GET'])
def signin_form():
return render_template('form.html')
@app.route('/signin', methods=['POST'])
def signin():
username = request.form['username']
password = request.form['password']
if username=='admin' and password=='password':
return render_template('signin-ok.html', username=username)
return render_template('form.html', message='Bad username or password', username=username)
if __name__ == '__main__':
app.run()
```
Flask通过render_template()函数来实现模板的渲染。和Web框架类似,Python的模板也有很多种。Flask默认支持的模板是jinja2,所以我们先直接安装jinja2:
```bash
$ pip install jinja2
```
然后,开始编写jinja2模板:
home.html
用来显示首页的模板:
```
<html>
<head>
<title>Home</title>
</head>
<body>
<h1 style="font-style:italic">Home</h1>
</body>
</html>
```
form.html
用来显示登录表单的模板:
```
<html>
<head>
<title>Please Sign In</title>
</head>
<body>
{% if message %}
<p style="color:red">{{ message }}</p>
{% endif %}
<form action="/signin" method="post">
<legend>Please sign in:</legend>
<p><input name="username" placeholder="Username" value="{{ username }}"></p>
<p><input name="password" placeholder="Password" type="password"></p>
<p><button type="submit">Sign In</button></p>
</form>
</body>
</html>
signin-ok.html
```
登录成功的模板:
```bash
<html>
<head>
<title>Welcome, {{ username }}</title>
</head>
<body>
<p>Welcome, {{ username }}!</p>
</body>
</html>
```
登录失败的模板呢?我们在form.html中加了一点条件判断,把form.html重用为登录失败的模板。
最后,一定要把模板放到正确的templates目录下,templates和app.py在同级目录下:
[img[python59.png]]
启动python app.py,看看使用模板的页面效果:
[img[python60.png]]
通过MVC,我们在Python代码中处理M:Model和C:Controller,而V:View是通过模板处理的,这样,我们就成功地把Python代码和HTML代码最大限度地分离了。
使用模板的另一大好处是,模板改起来很方便,而且,改完保存后,刷新浏览器就能看到最新的效果,这对于调试HTML、CSS和JavaScript的前端工程师来说实在是太重要了。
在Jinja2模板中,我们用{{ name }}表示一个需要替换的变量。很多时候,还需要循环、条件判断等指令语句,在Jinja2中,用{% ... %}表示指令。
比如循环输出页码:
```bash
{% for i in page_list %}
<a href="/page/{{ i }}">{{ i }}</a>
{% endfor %}
```
如果page_list是一个list:[1, 2, 3, 4, 5],上面的模板将输出5个超链接。
除了Jinja2,常见的模板还有:
[[Mako|http://www.makotemplates.org/]]:用<% ... %>和${xxx}的一个模板;
[[Cheetah|http://www.cheetahtemplate.org/]]:也是用<% ... %>和${xxx}的一个模板;
[[Django|https://www.djangoproject.com/]]:Django是一站式框架,内置一个用{% ... %}和{{ xxx }}的模板。
!!小结
有了MVC,我们就分离了Python代码和HTML代码。HTML代码全部放到模板里,写起来更有效率。
!!源码参考
[[app.py|https://github.com/michaelliao/learn-python3/blob/master/samples/web/mvc/app.py]]
!使用模块
Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。
我们以内建的sys模块为例,编写一个hello的模块:
```bash
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'Michael Liao'
import sys
def test():
args = sys.argv
if len(args)==1:
print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__':
test()
```
第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码;
第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;
第6行使用`__author__`变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名;
以上就是Python模块的标准文件模板,当然也可以全部删掉不写,但是,按标准办事肯定没错。
后面开始就是真正的代码部分。
你可能注意到了,使用sys模块的第一步,就是导入该模块:
```bash
import sys
```
导入sys模块后,我们就有了变量sys指向该模块,利用sys这个变量,就可以访问sys模块的所有功能。
sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称,例如:
运行python3 hello.py获得的sys.argv就是['hello.py'];
运行python3 hello.py Michael获得的sys.argv就是['hello.py', 'Michael]。
最后,注意到这两行代码:
```bash
if __name__=='__main__':
test()
```
当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量`__name__`置为`__main__`,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。
我们可以用命令行运行hello.py看看效果:
```bash
$ python3 hello.py
Hello, world!
$ python hello.py Michael
Hello, Michael!
```
如果启动Python交互环境,再导入hello模块:
```bash
$ python3
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello
>>>
```
导入时,没有打印Hello, word!,因为没有执行test()函数。
调用hello.test()时,才能打印出Hello, word!:
```bash
>>> hello.test()
Hello, world!
```
!!作用域
在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。
正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等;
类似`__xxx__`这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的`__author__`,`__name__`就是特殊变量,hello模块定义的文档注释也可以用特殊变量`__doc__`访问,我们自己的变量一般不要用这种变量名;
类似`_xxx`和`__xxx`这样的函数或变量就是非公开的(private),不应该被直接引用,比如`_abc`,`__abc`等;
之所以我们说,private函数和变量“不应该”被直接引用,而不是“不能”被直接引用,是因为Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。
private函数或变量不应该被别人引用,那它们有什么用呢?请看例子:
```bash
def _private_1(name):
return 'Hello, %s' % name
def _private_2(name):
return 'Hi, %s' % name
def greeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
```
我们在模块里公开greeting()函数,而把内部逻辑用private函数隐藏起来了,这样,调用greeting()函数不用关心内部的private函数细节,这也是一种非常有用的代码封装和抽象的方法,即:
外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。
!使用文本编辑器
阅读: 1020306
在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。
所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复运行了。
现在,我们就把上次的'hello, world'程序用文本编辑器写出来,保存下来。
那么问题来了:文本编辑器到底哪家强?
!!推荐两款文本编辑器:
一个是Sublime Text,免费使用,但是不付费会弹出提示框:
!![[sublime|http://www.sublimetext.com/]]
[img[python7.jpeg]]
一个是Notepad++,免费使用,有中文界面:
!![[notepad++|http://notepad-plus-plus.org/]]
[img[python8.jpeg]]
请注意,用哪个都行,但是''__绝对不能用Word和Windows自带的记事本__''。Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。
安装好文本编辑器后,输入以下代码:
```bash
print('hello, world')
```
注意print前面不要有任何空格。然后,选择一个目录,例如C:\work,把文件保存为hello.py,就可以打开命令行窗口,把当前目录切换到hello.py所在目录,就可以运行这个程序了:
C:\work>python hello.py
hello, world
也可以保存为别的名字,比如first.py,但是必须要以.py结尾,其他的都不行。此外,文件名只能是英文字母、数字和下划线的组合。
如果当前目录下没有hello.py这个文件,运行python hello.py就会报错:
```bash
C:\Users\IEUser>python hello.py
python: can't open file 'hello.py': [Errno 2] No such file or directory
```
报错的意思就是,无法打开hello.py这个文件,因为文件不存在。这个时候,就要检查一下当前目录下是否有这个文件了。如果hello.py存放在另外一个目录下,要首先用cd命令切换当前目录。
视频演示:
http://asklxf.coding.me/liaoxuefeng/v/python/run-hello.py.mp4
!!直接运行py文件
有同学问,能不能像.exe文件那样直接运行.py文件呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:
```bash
#!/usr/bin/env python3
print('hello, world')
```
然后,通过命令给hello.py以执行权限:
```
$ chmod a+x hello.py
```
就可以直接运行hello.py了,比如在Mac下运行:
[img[python9.png]]
!!小结
用文本编辑器写Python程序,然后保存为后缀为.py的文件,就可以用Python直接运行这个程序了。
Python的交互模式和直接运行.py文件有什么区别呢?
直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。
直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。
用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!前提是得有个27'的超大显示器!
!!!参考源码
[[hello.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/hello.py]]
!使用元类
!!type()
动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。
比方说我们要定义一个Hello的class,就写一个hello.py模块:
```bash
class Hello(object):
def hello(self, name='world'):
print('Hello, %s.' % name)
```
当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个Hello的class对象,测试如下:
```bash
>>> from hello import Hello
>>> h = Hello()
>>> h.hello()
Hello, world.
>>> print(type(Hello))
<class 'type'>
>>> print(type(h))
<class 'hello.Hello'>
```
type()函数可以查看一个类型或变量的类型,Hello是一个class,它的类型就是type,而h是一个实例,它的类型就是class Hello。
我们说class的定义是运行时动态创建的,而创建class的方法就是使用type()函数。
type()函数既可以返回一个对象的类型,又可以创建出新的类型,比如,我们可以通过type()函数创建出Hello类,而无需通过class Hello(object)...的定义:
```bash
>>> def fn(self, name='world'): # 先定义函数
... print('Hello, %s.' % name)
...
>>> Hello = type('Hello', (object,), dict(hello=fn)) # 创建Hello class
>>> h = Hello()
>>> h.hello()
Hello, world.
>>> print(type(Hello))
<class 'type'>
>>> print(type(h))
<class '__main__.Hello'>
```
要创建一个class对象,type()函数依次传入3个参数:
# class的名称;
# 继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法;
# class的方法名称与函数绑定,这里我们把函数fn绑定到方法名hello上。
通过type()函数创建的类和直接写class是完全一样的,因为Python解释器遇到class定义时,仅仅是扫描一下class定义的语法,然后调用type()函数创建出class。
正常情况下,我们都用class Xxx...来定义类,但是,type()函数也允许我们动态创建出类来,也就是说,动态语言本身支持运行期动态创建类,这和静态语言有非常大的不同,要在静态语言运行期创建类,必须构造源代码字符串再调用编译器,或者借助一些工具生成字节码实现,本质上都是动态编译,会非常复杂。
!!metaclass
除了使用type()动态创建类以外,要控制类的创建行为,还可以使用metaclass。
metaclass,直译为元类,简单的解释就是:
当我们定义了类以后,就可以根据这个类创建出实例,所以:先定义类,然后创建实例。
但是如果我们想创建出类呢?那就必须根据metaclass创建出类,所以:先定义metaclass,然后创建类。
连接起来就是:先定义metaclass,就可以创建类,最后创建实例。
所以,metaclass允许你创建类或者修改类。换句话说,你可以把类看成是metaclass创建出来的“实例”。
metaclass是Python面向对象里最难理解,也是最难使用的魔术代码。正常情况下,你不会碰到需要使用metaclass的情况,所以,以下内容看不懂也没关系,因为基本上你不会用到。
我们先看一个简单的例子,这个metaclass可以给我们自定义的MyList增加一个add方法:
定义ListMetaclass,按照默认习惯,metaclass的类名总是以Metaclass结尾,以便清楚地表示这是一个metaclass:
```bash
# metaclass是类的模板,所以必须从`type`类型派生:
class ListMetaclass(type):
def __new__(cls, name, bases, attrs):
attrs['add'] = lambda self, value: self.append(value)
return type.__new__(cls, name, bases, attrs)
```
有了ListMetaclass,我们在定义类的时候还要指示使用ListMetaclass来定制类,传入关键字参数metaclass:
```bash
class MyList(list, metaclass=ListMetaclass):
pass
```
当我们传入关键字参数metaclass时,魔术就生效了,它指示Python解释器在创建MyList时,要通过ListMetaclass.__new__()来创建,在此,我们可以修改类的定义,比如,加上新的方法,然后,返回修改后的定义。
`__new__()`方法接收到的参数依次是:
# 当前准备创建的类的对象;
# 类的名字;
# 类继承的父类集合;
# 类的方法集合。
测试一下MyList是否可以调用add()方法:
```bash
>>> L = MyList()
>>> L.add(1)
>> L
[1]
```
而普通的list没有add()方法:
```bash
>>> L2 = list()
>>> L2.add(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'add'
```
动态修改有什么意义?直接在MyList定义中写上add()方法不是更简单吗?正常情况下,确实应该直接写,通过metaclass修改纯属变态。
但是,总会遇到需要通过metaclass修改类定义的。ORM就是一个典型的例子。
ORM全称“Object Relational Mapping”,即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表,这样,写代码更简单,不用直接操作SQL语句。
要编写一个ORM框架,所有的类都只能动态定义,因为只有使用者才能根据表的结构定义出对应的类来。
让我们来尝试编写一个ORM框架。
编写底层模块的第一步,就是先把调用接口写出来。比如,使用者如果使用这个ORM框架,想定义一个User类来操作对应的数据库表User,我们期待他写出这样的代码:
```bash
class User(Model):
# 定义类的属性到列的映射:
id = IntegerField('id')
name = StringField('username')
email = StringField('email')
password = StringField('password')
# 创建一个实例:
u = User(id=12345, name='Michael', email='test@orm.org', password='my-pwd')
# 保存到数据库:
u.save()
```
其中,父类Model和属性类型StringField、IntegerField是由ORM框架提供的,剩下的魔术方法比如save()全部由metaclass自动完成。虽然metaclass的编写会比较复杂,但ORM的使用者用起来却异常简单。
现在,我们就按上面的接口来实现该ORM。
首先来定义Field类,它负责保存数据库表的字段名和字段类型:
```bash
class Field(object):
def __init__(self, name, column_type):
self.name = name
self.column_type = column_type
def __str__(self):
return '<%s:%s>' % (self.__class__.__name__, self.name)
```
在Field的基础上,进一步定义各种类型的Field,比如StringField,IntegerField等等:
```bash
class StringField(Field):
def __init__(self, name):
super(StringField, self).__init__(name, 'varchar(100)')
class IntegerField(Field):
def __init__(self, name):
super(IntegerField, self).__init__(name, 'bigint')
```
下一步,就是编写最复杂的ModelMetaclass了:
```bash
class ModelMetaclass(type):
def __new__(cls, name, bases, attrs):
if name=='Model':
return type.__new__(cls, name, bases, attrs)
print('Found model: %s' % name)
mappings = dict()
for k, v in attrs.items():
if isinstance(v, Field):
print('Found mapping: %s ==> %s' % (k, v))
mappings[k] = v
for k in mappings.keys():
attrs.pop(k)
attrs['__mappings__'] = mappings # 保存属性和列的映射关系
attrs['__table__'] = name # 假设表名和类名一致
return type.__new__(cls, name, bases, attrs)
```
以及基类Model:
```bash
class Model(dict, metaclass=ModelMetaclass):
def __init__(self, **kw):
super(Model, self).__init__(**kw)
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Model' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
def save(self):
fields = []
params = []
args = []
for k, v in self.__mappings__.items():
fields.append(v.name)
params.append('?')
args.append(getattr(self, k, None))
sql = 'insert into %s (%s) values (%s)' % (self.__table__, ','.join(fields), ','.join(params))
print('SQL: %s' % sql)
print('ARGS: %s' % str(args))
```
当用户定义一个class User(Model)时,Python解释器首先在当前类User的定义中查找metaclass,如果没有找到,就继续在父类Model中查找metaclass,找到了,就使用Model中定义的metaclass的ModelMetaclass来创建User类,也就是说,metaclass可以隐式地继承到子类,但子类自己却感觉不到。
在ModelMetaclass中,一共做了几件事情:
# 排除掉对Model类的修改;
# 在当前类(比如User)中查找定义的类的所有属性,如果找到一个Field属性,就把它保存到一个`__mappings__`的dict中,同时从类属性中删除该Field属性,否则,容易造成运行时错误(实例的属性会遮盖类的同名属性);
# 把表名保存到`__table__`中,这里简化为表名默认为类名。
在Model类中,就可以定义各种操作数据库的方法,比如save(),delete(),find(),update等等。
我们实现了save()方法,把一个实例保存到数据库中。因为有表名,属性到字段的映射和属性值的集合,就可以构造出INSERT语句。
编写代码试试:
```bash
u = User(id=12345, name='Michael', email='test@orm.org', password='my-pwd')
u.save()
```
输出如下:
```bash
Found model: User
Found mapping: email ==> <StringField:email>
Found mapping: password ==> <StringField:password>
Found mapping: id ==> <IntegerField:uid>
Found mapping: name ==> <StringField:username>
SQL: insert into User (password,email,username,id) values (?,?,?,?)
ARGS: ['my-pwd', 'test@orm.org', 'Michael', 12345]
```
可以看到,save()方法已经打印出了可执行的SQL语句,以及参数列表,只需要真正连接到数据库,执行该SQL语句,就可以完成真正的功能。
不到100行代码,我们就通过metaclass实现了一个精简的ORM框架,是不是非常简单?
!!小结
metaclass是Python中非常具有魔术性的对象,它可以改变类创建时的行为。这种强大的功能使用起来务必小心。
!!参考源码
[[create_class_on_the_fly.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/create_class_on_the_fly.py]]
[[use_metaclass.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/use_metaclass.py]]
[[orm.py|https://github.com/michaelliao/learn-python3/blob/master/samples/oop_advance/orm.py]]
!使用dict和set
!!dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:
```bash
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
```
给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。
如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
```bash
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
```
为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。
第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。
dict就是第二种实现方式,给定一个名字,比如'Michael',dict在内部就可以直接计算出Michael对应的存放成绩的“页码”,也就是95这个数字存放的内存地址,直接取出来,所以速度非常快。
你可以猜到,这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
```bash
>>> d['Adam'] = 67
>>> d['Adam']
67
```
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:
```bash
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
```
如果key不存在,dict就会报错:
```bash
>>> d['Thomas']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Thomas'
```
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
```bash
>>> 'Thomas' in d
False
```
二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
```bash
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
```
注意:返回None的时候Python的交互环境不显示结果。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
```bash
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
```
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
和list比较,dict有以下几个特点:
* 查找和插入的速度极快,不会随着key的增加而变慢;
* 需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:
```bash
>>> key = [1, 2, 3]
>>> d[key] = 'a list'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
```
!!set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
```bash
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
```
注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。
重复元素在set中自动被过滤:
```bash
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
```
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:
```bash
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
```
通过remove(key)方法可以删除元素:
```bash
>>> s.remove(4)
>>> s
{1, 2, 3}
```
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
```bash
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
```
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。
!!再议不可变对象
上面我们讲了,str是不变对象,而list是可变对象。
对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:
```bash
>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']
```
而对于不可变对象,比如str,对str进行操作呢:
```bash
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'
```
虽然字符串有个replace()方法,也确实变出了'Abc',但变量a最后仍是'abc',应该怎么理解呢?
我们先把代码改成下面这样:
```bash
>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'
```
要始终牢记的是,a是变量,而'abc'才是字符串对象!有些时候,我们经常说,对象a的内容是'abc',但其实是指,a本身是一个变量,它指向的对象的内容才是'abc':
```
┌───┐ ┌───────┐
│ a │─────────────────>│ 'abc' │
└───┘ └───────┘
```
当我们调用a.replace('a', 'A')时,实际上调用方法replace是作用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容。相反,replace方法创建了一个新字符串'Abc'并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'了:
```
┌───┐ ┌───────┐
│ a │─────────────────>│ 'abc' │
└───┘ └───────┘
┌───┐ ┌───────┐
│ b │─────────────────>│ 'Abc' │
└───┘ └───────┘
```
所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
!!小结
使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串。
tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解释结果。
!!!参考源码
[[the_dict.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/the_dict.py]]
[[the_set.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/the_set.py]]
!使用list和tuple
!!list
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:
```bash
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
```
变量classmates就是一个list。用len()函数可以获得list元素的个数:
```bash
>>> len(classmates)
3
```
用索引来访问list中每一个位置的元素,记得索引是从0开始的:
```bash
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
```
当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是`len(classmates) - 1`。
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
```bash
>>> classmates[-1]
'Tracy'
```
以此类推,可以获取倒数第2个、倒数第3个:
```bash
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
```
当然,倒数第4个就越界了。
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
```bash
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
```
也可以把元素插入到指定的位置,比如索引号为1的位置:
```bash
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
```
要删除list末尾的元素,用pop()方法:
```bash
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
```
要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
```bash
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
```
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
```bash
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
```
list里面的元素的数据类型也可以不同,比如:
```bash
>>> L = ['Apple', 123, True]
```
list元素也可以是另一个list,比如:
```bash
>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4
```
要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:
```bash
>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']
```
要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。
如果一个list中一个元素也没有,就是一个空的list,它的长度为0:
```bash
>>> L = []
>>> len(L)
0
```
!!tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
```bash
>>> classmates = ('Michael', 'Bob', 'Tracy')
```
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如:
```bash
>>> t = (1, 2)
>>> t
(1, 2)
```
如果要定义一个空的tuple,可以写成():
```bash
>>> t = ()
>>> t
()
```
但是,要定义一个只有1个元素的tuple,如果你这么定义:
```bash
>>> t = (1)
>>> t
1
```
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
```bash
>>> t = (1,)
>>> t
(1,)
```
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。
最后来看一个“可变的”tuple:
```bash
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
```
这个tuple定义的时候有3个元素,分别是'a','b'和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
别急,我们先看看定义的时候tuple包含的3个元素:
[img[python20.png]]
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
[img[python21.png]]
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
!!练习
请用索引取出下面list的指定元素:
```bash
# -*- coding: utf-8 -*-
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
# 打印Apple:
print(?)
# 打印Python:
print(?)
# 打印Lisa:
print(?)
```
!!小结
list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
!!!参考源码
[[the_list.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/the_list.py]]
[[the_tuple.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/the_tuple.py]]
!使用MySQL
MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。
此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB。
!!安装MySQL
可以直接从MySQL官方网站下载最新的[[Community Server 5.6.x|http://dev.mysql.com/downloads/mysql/5.6.html]]版本。MySQL是跨平台的,选择对应的平台下载安装文件,安装即可。
安装时,MySQL会提示输入root用户的口令,请务必记清楚。如果怕记不住,就把口令设置为password。
在Windows上,安装时请选择UTF-8编码,以便正确地处理中文。
在Mac或Linux上,需要编辑MySQL的配置文件,把数据库默认的编码全部改为UTF-8。MySQL的配置文件默认存放在/etc/my.cnf或者/etc/mysql/my.cnf:
```
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
```
重启MySQL后,可以通过MySQL的客户端命令行检查编码:
```bash
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor...
...
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.1.65-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
```
看到utf8字样就表示编码设置正确。
注:如果MySQL的版本≥5.5.3,可以把编码设置为utf8mb4,utf8mb4和utf8完全兼容,但它支持最新的Unicode标准,可以显示emoji字符。
!!安装MySQL驱动
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。MySQL官方提供了mysql-connector-python驱动,但是安装的时候需要给pip命令加上参数`--allow-external`:
```bash
$ pip install mysql-connector-python --allow-external mysql-connector-python
```
如果上面的命令安装失败,可以试试另一个驱动:
```bash
$ pip install mysql-connector
```
我们演示如何连接到MySQL服务器的test数据库:
```bash
# 导入MySQL驱动:
>>> import mysql.connector
# 注意把password设为你的root口令:
>>> conn = mysql.connector.connect(user='root', password='password', database='test')
>>> cursor = conn.cursor()
# 创建user表:
>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
# 插入一行记录,注意MySQL的占位符是%s:
>>> cursor.execute('insert into user (id, name) values (%s, %s)', ['1', 'Michael'])
>>> cursor.rowcount
1
# 提交事务:
>>> conn.commit()
>>> cursor.close()
# 运行查询:
>>> cursor = conn.cursor()
>>> cursor.execute('select * from user where id = %s', ('1',))
>>> values = cursor.fetchall()
>>> values
[('1', 'Michael')]
# 关闭Cursor和Connection:
>>> cursor.close()
True
>>> conn.close()
```
由于Python的DB-API定义都是通用的,所以,操作MySQL的数据库代码和SQLite类似。
!!小结
执行INSERT等操作后要调用commit()提交事务;
MySQL的SQL占位符是`%s`。
!!参考源码
[[do_mysql.py|https://github.com/michaelliao/learn-python3/blob/master/samples/db/do_mysql.py]]
!使用SQLAlchemy
数据库表是一个二维表,包含多行多列。把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和name的user表:
```bash
[
('1', 'Michael'),
('2', 'Bob'),
('3', 'Adam')
]
```
Python的DB-API返回的数据结构就是像上面这样表示的。
但是用tuple表示一行很难看出表的结构。如果把一个tuple用class实例来表示,就可以更容易地看出表的结构来:
```bash
class User(object):
def __init__(self, id, name):
self.id = id
self.name = name
[
User('1', 'Michael'),
User('2', 'Bob'),
User('3', 'Adam')
]
```
这就是传说中的ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上。是不是很简单?
但是由谁来做这个转换呢?所以ORM框架应运而生。
在Python中,最有名的ORM框架是SQLAlchemy。我们来看看SQLAlchemy的用法。
首先通过pip安装SQLAlchemy:
```bash
$ pip install sqlalchemy
```
然后,利用上次我们在MySQL的test数据库中创建的user表,用SQLAlchemy来试试:
第一步,导入SQLAlchemy,并初始化DBSession:
```bash
# 导入:
from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 创建对象的基类:
Base = declarative_base()
# 定义User对象:
class User(Base):
# 表的名字:
__tablename__ = 'user'
# 表的结构:
id = Column(String(20), primary_key=True)
name = Column(String(20))
# 初始化数据库连接:
engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test')
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
```
以上代码完成SQLAlchemy的初始化和具体每个表的class定义。如果有多个表,就继续定义其他class,例如School:
```bash
class School(Base):
__tablename__ = 'school'
id = ...
name = ...
```
create_engine()用来初始化数据库连接。SQLAlchemy用一个字符串表示连接信息:
```
'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
```
你只需要根据需要替换掉用户名、口令等信息即可。
下面,我们看看如何向数据库表中添加一行记录。
由于有了ORM,我们向数据库表中添加一行记录,可以视为添加一个User对象:
```bash
# 创建session对象:
session = DBSession()
# 创建新User对象:
new_user = User(id='5', name='Bob')
# 添加到session:
session.add(new_user)
# 提交即保存到数据库:
session.commit()
# 关闭session:
session.close()
```
可见,关键是获取session,然后把对象添加到session,最后提交并关闭。DBSession对象可视为当前数据库连接。
如何从数据库表中查询数据呢?有了ORM,查询出来的可以不再是tuple,而是User对象。SQLAlchemy提供的查询接口如下:
```bash
# 创建Session:
session = DBSession()
# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
user = session.query(User).filter(User.id=='5').one()
# 打印类型和对象的name属性:
print('type:', type(user))
print('name:', user.name)
# 关闭Session:
session.close()
```
运行结果如下:
```bash
type: <class '__main__.User'>
name: Bob
```
可见,ORM就是把数据库表的行与相应的对象建立关联,互相转换。
由于关系数据库的多个表还可以用外键实现一对多、多对多等关联,相应地,ORM框架也可以提供两个对象之间的一对多、多对多等功能。
例如,如果一个User拥有多个Book,就可以定义一对多关系如下:
```bash
class User(Base):
__tablename__ = 'user'
id = Column(String(20), primary_key=True)
name = Column(String(20))
# 一对多:
books = relationship('Book')
class Book(Base):
__tablename__ = 'book'
id = Column(String(20), primary_key=True)
name = Column(String(20))
# “多”的一方的book表是通过外键关联到user表的:
user_id = Column(String(20), ForeignKey('user.id'))
```
当我们查询一个User对象时,该对象的books属性将返回一个包含若干个Book对象的list。
!!小结
ORM框架的作用就是把数据库表的一行记录与一个对象互相做自动转换。
正确使用ORM的前提是了解关系数据库的原理。
!!参考源码
[[do_sqlalchemy.py|https://github.com/michaelliao/learn-python3/blob/master/samples/db/do_sqlalchemy.py]]
!使用SQLite
SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。
Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。
在使用SQLite前,我们先要搞清楚几个概念:
表是数据库中存放关系数据的集合,一个数据库里面通常都包含多个表,比如学生的表,班级的表,学校的表,等等。表和表之间通过外键关联。
要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;
连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。
Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。
由于SQLite的驱动内置在Python标准库中,所以我们可以直接来操作SQLite数据库。
我们在Python交互式命令行实践一下:
```bash
# 导入SQLite驱动:
>>> import sqlite3
# 连接到SQLite数据库
# 数据库文件是test.db
# 如果文件不存在,会自动在当前目录创建:
>>> conn = sqlite3.connect('test.db')
# 创建一个Cursor:
>>> cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
<sqlite3.Cursor object at 0x10f8aa260>
# 继续执行一条SQL语句,插入一条记录:
>>> cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
<sqlite3.Cursor object at 0x10f8aa260>
# 通过rowcount获得插入的行数:
>>> cursor.rowcount
1
# 关闭Cursor:
>>> cursor.close()
# 提交事务:
>>> conn.commit()
# 关闭Connection:
>>> conn.close()
```
我们再试试查询记录:
```bash
>>> conn = sqlite3.connect('test.db')
>>> cursor = conn.cursor()
# 执行查询语句:
>>> cursor.execute('select * from user where id=?', ('1',))
<sqlite3.Cursor object at 0x10f8aa340>
# 获得查询结果集:
>>> values = cursor.fetchall()
>>> values
[('1', 'Michael')]
>>> cursor.close()
>>> conn.close()
```
使用Python的DB-API时,只要搞清楚Connection和Cursor对象,打开后一定记得关闭,就可以放心地使用。
使用Cursor对象执行insert,update,delete语句时,执行结果由rowcount返回影响的行数,就可以拿到执行结果。
使用Cursor对象执行select语句时,通过featchall()可以拿到结果集。结果集是一个list,每个元素都是一个tuple,对应一行记录。
如果SQL语句带有参数,那么需要把参数按照位置传递给execute()方法,有几个?占位符就必须对应几个参数,例如:
```bash
cursor.execute('select * from user where name=? and pwd=?', ('abc', 'password'))
```
SQLite支持常见的标准SQL语句以及几种常见的数据类型。具体文档请参阅SQLite官方网站。
!!小结
在Python中操作数据库时,要先导入数据库对应的驱动,然后,通过Connection对象和Cursor对象操作数据。
要确保打开的Connection对象和Cursor对象都正确地被关闭,否则,资源就会泄露。
如何才能确保出错的情况下也关闭掉Connection对象和Cursor对象呢?请回忆`try:...except:...finally:...`的用法。
!!练习
请编写函数,在Sqlite中根据分数段查找指定的名字:
```bash
# -*- coding: utf-8 -*-
import os, sqlite3
db_file = os.path.join(os.path.dirname(__file__), 'test.db')
if os.path.isfile(db_file):
os.remove(db_file)
# 初始数据:
conn = sqlite3.connect(db_file)
cursor = conn.cursor()
cursor.execute('create table user(id varchar(20) primary key, name varchar(20), score int)')
cursor.execute(r"insert into user values ('A-001', 'Adam', 95)")
cursor.execute(r"insert into user values ('A-002', 'Bart', 62)")
cursor.execute(r"insert into user values ('A-003', 'Lisa', 78)")
cursor.close()
conn.commit()
conn.close()
def get_score_in(low, high):
' 返回指定分数区间的名字,按分数从低到高排序 '
----
pass
----
# 测试:
assert get_score_in(80, 95) == ['Adam'], get_score_in(80, 95)
assert get_score_in(60, 80) == ['Bart', 'Lisa'], get_score_in(60, 80)
assert get_score_in(60, 100) == ['Bart', 'Lisa', 'Adam'], get_score_in(60, 100)
print('Pass')
```
!!参考源码
[[do_sqlite.py|https://github.com/michaelliao/learn-python3/blob/master/samples/db/do_sqlite.py]]
使用Web框架
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。
但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。
每一个URL可以对应GET和POST请求,当然还有PUT、DELETE等请求,但是我们通常只考虑最常见的GET和POST请求。
一个最简单的想法是从environ变量里取出HTTP请求的信息,然后逐个判断:
```bash
def application(environ, start_response):
method = environ['REQUEST_METHOD']
path = environ['PATH_INFO']
if method=='GET' and path=='/':
return handle_home(environ, start_response)
if method=='POST' and path='/signin':
return handle_signin(environ, start_response)
...
```
只是这么写下去代码是肯定没法维护了。
代码这么写没法维护的原因是因为WSGI提供的接口虽然比HTTP接口高级了不少,但和Web App的处理逻辑比,还是比较低级,我们需要在WSGI接口之上能进一步抽象,让我们专注于用一个函数处理一个URL,至于URL到函数的映射,就交给Web框架来做。
由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架。这里我们先不讨论各种Web框架的优缺点,直接选择一个比较流行的Web框架——[[Flask|http://flask.pocoo.org/]]来使用。
用Flask编写Web App比WSGI接口简单(这不是废话么,要是比WSGI还复杂,用框架干嘛?),我们先用pip安装Flask:
```
$ pip install flask
```
然后写一个app.py,处理3个URL,分别是:
GET /:首页,返回Home;
GET /signin:登录页,显示登录表单;
POST /signin:处理登录表单,显示登录结果。
注意噢,同一个URL/signin分别有GET和POST两种请求,映射到两个处理函数中。
Flask通过Python的装饰器在内部自动地把URL和函数给关联起来,所以,我们写出来的代码就像这样:
```bash
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
return '<h1>Home</h1>'
@app.route('/signin', methods=['GET'])
def signin_form():
return '''<form action="/signin" method="post">
<p><input name="username"></p>
<p><input name="password" type="password"></p>
<p><button type="submit">Sign In</button></p>
</form>'''
@app.route('/signin', methods=['POST'])
def signin():
# 需要从request对象读取表单内容:
if request.form['username']=='admin' and request.form['password']=='password':
return '<h3>Hello, admin!</h3>'
return '<h3>Bad username or password.</h3>'
if __name__ == '__main__':
app.run()
```
运行python app.py,Flask自带的Server在端口5000上监听:
```bash
$ python app.py
* Running on http://127.0.0.1:5000/
```
打开浏览器,输入首页地址http://localhost:5000/:
[img[python55.png]]
首页显示正确!
再在浏览器地址栏输入http://localhost:5000/signin,会显示登录表单:
[img[python56.png]]
输入预设的用户名admin和口令password,登录成功:
[img[python57.png]]
输入其他错误的用户名和口令,登录失败:
[img[python58.png]]
实际的Web App应该拿到用户名和口令后,去数据库查询再比对,来判断用户是否能登录成功。
除了Flask,常见的Python Web框架还有:
[[Django|https://www.djangoproject.com/]]:全能型Web框架;
[[web.py|http://webpy.org/]]:一个小巧的Web框架;
[[Bottle|http://bottlepy.org/]]:和Flask类似的Web框架;
[[Tornado|http://www.tornadoweb.org/]]:Facebook的开源异步Web框架。
当然了,因为开发Python的Web框架也不是什么难事,我们后面也会讲到开发Web框架的内容。
!!小结
有了Web框架,我们在编写Web应用时,注意力就从WSGI处理函数转移到URL+对应的处理函数,这样,编写Web App就更加简单了。
在编写URL处理函数时,除了配置URL外,从HTTP请求拿到用户数据也是非常重要的。Web框架都提供了自己的API来实现这些功能。Flask通过request.form['name']来获取表单的内容。
!!参考源码
[[do_flask.py|https://github.com/michaelliao/learn-python3/blob/master/samples/web/do_flask.py]]
!!输出
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:
```bash
>>> print('hello, world')
```
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
```bash
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
```
print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:
[img[python10.png]]
print()也可以打印整数,或者计算结果:
```bash
>>> print(300)
300
>>> print(100 + 200)
300
```
因此,我们可以把计算100 + 200的结果打印得更漂亮一点:
```bash
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
```
注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
!!输入
现在,你已经可以用print()输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
```bash
>>> name = input()
Michael
```
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:
```bash
>>> name
'Michael'
```
!!!''什么是变量?''
请回忆初中数学所学的代数基础知识:
设正方形的边长为a,则正方形的面积为a x a。把边长a看做一个变量,我们就可以根据a的值计算正方形的面积,比如:
若a=2,则面积为a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。
要打印出name变量的内容,除了直接写name然后按回车外,还可以用print()函数:
```
>>> print(name)
Michael
```
有了输入和输出,我们就可以把上次打印'hello, world'的程序改成有点意义的程序了:
```bash
name = input()
print('hello,', name)
```
运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Michael:
```bash
C:\Workspace> python hello.py
Michael
hello, Michael
```
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input()可以让你显示一个字符串来提示用户,于是我们把代码改成:
```bash
name = input('please enter your name: ')
print('hello,', name)
```
再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出:
C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael
每次运行该程序,根据用户输入的不同,输出结果也会不同。
在命令行下,输入和输出就是这么简单。
!!小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
input()和print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。
!!!练习
请利用print()输出1024 * 768 = xxx:
参考源码
[[do_input.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/do_input.py]]
!!数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
!!!整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
!!!浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
!!!字符串
字符串是以单引号`'`或双引号`"`括起来的任意文本,比如`'abc'`,`"xyz"`等等。请注意,`''`或`""`本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果`'`本身也是一个字符,那就可以用`""`括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:
```
'I\'m \"OK\"!'
```
表示的字符串内容是:
```
I'm "OK"!
```
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看:
```bash
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
```
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,可以自己试试:
```bash
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\
```
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用`'''...'''`的格式表示多行内容,可以自己试试:
```bash
>>> print('''line1
... line2
... line3''')
line1
line2
line3
```
上面是在交互式命令行内输入,注意在输入多行内容时,提示符由>>>变为...,提示你可以接着上一行输入,注意...是提示符,不是代码的一部分:
```
┌────────────────────────────────────────────────────────┐
│Command Prompt - python _ □ x │
├────────────────────────────────────────────────────────┤
│>>> print('''line1 │
│... line2 │
│... line3''') │
│line1 │
│line2 │
│line3 │
│ │
│>>> _ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
```
当输入完结束符
```
```
```
和括号`)`后,执行该语句并打印结果。
如果写成程序并存为.py文件,就是:
```bash
print('''line1
line2
line3''')
```
多行字符串`'''...'''`还可以在前面加上r使用,请自行测试:
!!布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
```bash
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
```
布尔值可以用and、or和not运算。
and运算是与运算,只有所有都为True,and运算结果才是True:
```bash
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True
```
or运算是或运算,只要其中有一个为True,or运算结果就是True:
```bash
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True
```
not运算是非运算,它是一个单目运算符,把True变成False,False变成True:
```bash
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
```
布尔值经常用在条件判断中,比如:
```bash
if age >= 18:
print('adult')
else:
print('teenager')
```
!!空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
!!变量
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:
```
a = 1
```
变量a是一个整数。
```
t_007 = 'T007'
```
变量t_007是一个字符串。
```
Answer = True
```
变量Answer是一个布尔值True。
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:
```bash
# -*- coding: utf-8 -*-
a = 123 # a是整数
print(a)
a = 'ABC' # a变为字符串
print(a)
```
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(`//` 表示注释):
```bash
int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量
```
和静态语言相比,动态语言更灵活,就是这个原因。
请不要把赋值语句的等号等同于数学的等号。比如下面的代码:
```bash
x = 10
x = x + 2
```
如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。
最后,理解变量在计算机内存中的表示也非常重要。当我们写:
```
a = 'ABC'
```
时,Python解释器干了两件事情:
在内存中创建了一个'ABC'的字符串;
在内存中创建了一个名为a的变量,并把它指向'ABC'。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
```bash
# -*- coding: utf-8 -*-
a = 'ABC'
b = a
a = 'XYZ'
print(b)
```
最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:
执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC':
[img[python11.png]]
执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC':
[img[python12.png]]
执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:
[img[python13.png]]
所以,最后打印变量b的结果自然是'ABC'了。
!!常量
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
```bash
PI = 3.14159265359
```
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
最后解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是`/`:
```bash
>>> 10 / 3
3.3333333333333335
```
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
```bash
>>> 9 / 3
3.0
```
还有一种除法是`//`,称为地板除,两个整数的除法仍然是整数:
```bash
>>> 10 // 3
3
```
你没有看错,整数的地板除`//`永远是整数,即使除不尽。要做精确的除法,使用/就可以。
因为`//`除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:
```bash
>>> 10 % 3
1
```
无论整数做`//`除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。
!!练习
请打印出以下变量的值:
```bash
# -*- coding: utf-8 -*-
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
```
!!小结
Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
!条件判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:
```bash
age = 20
if age >= 18:
print('your age is', age)
print('adult')
```
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:
```bash
age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')
```
注意不要少写了冒号`:`。
当然上面的判断是很粗略的,完全可以用elif做更细致的判断:
```bash
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
```
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
```bash
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
```
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager:
```bash
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
```
if判断条件还可以简写,比如写:
```bash
if x:
print('True')
```
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
!!再议 input
最后看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:
```bash
birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
```
输入1982,结果报错:
```bash
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()
```
这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
```bash
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
```
再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:
```bash
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'
```
原来int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。
如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。
!!!练习
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
* 低于18.5:过轻
* 18.5-25:正常
* 25-28:过重
* 28-32:肥胖
* 高于32:严重肥胖
用if-elif判断并打印结果:
```bash
# -*- coding: utf-8 -*-
height = 1.75
weight = 80.5
bmi = ???
if ???:
pass
```
!!小结
条件判断可以让计算机自己做选择,Python的if...elif...else很灵活。
条件判断从上向下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行。
[img[python22.png]]
!!参考源码
[[do_if.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/do_if.py]]
!图形界面
Python支持多种图形界面的第三方库,包括:
Tk
wxWidgets
Qt
GTK
等等。
但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。本章简单介绍如何使用Tkinter进行GUI编程。
!!Tkinter
我们来梳理一下概念:
我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;
Tk是一个图形库,支持多个操作系统,使用Tcl语言开发;
Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。
所以,我们的代码只需要调用Tkinter提供的接口就可以了。
!!第一个GUI程序
使用Tkinter十分简单,我们来编写一个GUI版本的“Hello, world!”。
第一步是导入Tkinter包的所有内容:
```bash
from tkinter import *
```
第二步是从Frame派生一个Application类,这是所有Widget的父容器:
```bash
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.helloLabel = Label(self, text='Hello, world!')
self.helloLabel.pack()
self.quitButton = Button(self, text='Quit', command=self.quit)
self.quitButton.pack()
```
在GUI中,每个Button、Label、输入框等,都是一个Widget。Frame则是可以容纳其他Widget的Widget,所有的Widget组合起来就是一棵树。
pack()方法把Widget加入到父容器中,并实现布局。pack()是最简单的布局,grid()可以实现更复杂的布局。
在createWidgets()方法中,我们创建一个Label和一个Button,当Button被点击时,触发self.quit()使程序退出。
第三步,实例化Application,并启动消息循环:
```bash
app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()
```
GUI程序的主线程负责监听来自操作系统的消息,并依次处理每一条消息。因此,如果消息处理非常耗时,就需要在新线程中处理。
运行这个GUI程序,可以看到下面的窗口:
[img[python27.png]]
点击“Quit”按钮或者窗口的“x”结束程序。
!!输入文本
我们再对这个GUI程序改进一下,加入一个文本框,让用户可以输入文本,然后点按钮后,弹出消息对话框。
```bash
from tkinter import *
import tkinter.messagebox as messagebox
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.nameInput = Entry(self)
self.nameInput.pack()
self.alertButton = Button(self, text='Hello', command=self.hello)
self.alertButton.pack()
def hello(self):
name = self.nameInput.get() or 'world'
messagebox.showinfo('Message', 'Hello, %s' % name)
app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()
```
当用户点击按钮时,触发hello(),通过self.nameInput.get()获得用户输入的文本后,使用tkMessageBox.showinfo()可以弹出消息对话框。
程序运行结果如下:
[img[python28.png]]
!!小结
Python内置的Tkinter可以满足基本的GUI程序的要求,如果是非常复杂的GUI程序,建议用操作系统原生支持的语言和库来编写。
!!参考源码
[[hello_gui.py|https://github.com/michaelliao/learn-python3/blob/master/samples/gui/hello_gui.py]]
第三挖井人:[[YuGongde|yugongde]]
第二挖井人:Tiddlyspot团队
第一挖井人:Tiddlywiki团队
''什么是挖井人计划''
吃水不忘挖井人
信息爆炸的时代,经过收集整理的信息便于大家查询和梳理知识体系。
挖井人计划就是记录收集整理这些信息的贡献者们。
注意,每一位使用本文件梳理知识体系的人,也都是挖井人,不管你是将梳理后的文件供自己使用还是分享出来让更多人参考。
!网络编程
自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。
计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。
举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。
由于你的电脑上可能不止浏览器,还有QQ、Skype、Dropbox、邮件客户端等,不同的程序连接的别的计算机也会不同,所以,更确切地说,网络通信是两台计算机上的两个进程之间的通信。比如,浏览器进程和新浪服务器上的某个Web服务进程在通信,而QQ进程是和腾讯的某个服务器上的某个进程在通信。
!!网络通信就是两个进程在通信
网络编程对所有开发语言都是一样的,Python也不例外。用Python进行网络编程,就是在Python程序本身这个进程内,连接别的服务器进程的通信端口进行通信。
本章我们将详细介绍Python网络编程的概念和最主要的两种网络类型的编程,具体如下:
[[TCP/IP简介]]
[[TCP编程]]
[[UDP编程]]
!文档测试
如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码。比如re模块就带了很多示例代码:
```bash
>>> import re
>>> m = re.search('(?<=abc)def', 'abcdef')
>>> m.group(0)
'def'
```
可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致。
这些代码与其他说明可以写在注释中,然后,由一些工具来自动生成文档。既然这些代码本身就可以粘贴出来直接运行,那么,可不可以自动执行写在注释中的这些代码呢?
答案是肯定的。
当我们编写注释时,如果写上这样的注释:
```bash
def abs(n):
'''
Function to get absolute value of number.
Example:
>>> abs(1)
1
>>> abs(-1)
1
>>> abs(0)
0
'''
return n if n >= 0 else (-n)
```
无疑更明确地告诉函数的调用者该函数的期望输入和输出。
并且,Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。
doctest严格按照Python交互式命令行的输入和输出来判断测试结果是否正确。只有测试异常的时候,可以用...表示中间一大段烦人的输出。
让我们用doctest来测试上次编写的Dict类:
```bash
# mydict2.py
class Dict(dict):
'''
Simple dict but also support access as x.y style.
>>> d1 = Dict()
>>> d1['x'] = 100
>>> d1.x
100
>>> d1.y = 200
>>> d1['y']
200
>>> d2 = Dict(a=1, b=2, c='3')
>>> d2.c
'3'
>>> d2['empty']
Traceback (most recent call last):
...
KeyError: 'empty'
>>> d2.empty
Traceback (most recent call last):
...
AttributeError: 'Dict' object has no attribute 'empty'
'''
def __init__(self, **kw):
super(Dict, self).__init__(**kw)
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Dict' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
if __name__=='__main__':
import doctest
doctest.testmod()
```
运行python mydict2.py:
```
$ python mydict2.py
```
什么输出也没有。这说明我们编写的doctest运行都是正确的。如果程序有问题,比如把__getattr__()方法注释掉,再运行就会报错:
```bash
$ python mydict2.py
**********************************************************************
File "/Users/michael/Github/learn-python3/samples/debug/mydict2.py", line 10, in __main__.Dict
Failed example:
d1.x
Exception raised:
Traceback (most recent call last):
...
AttributeError: 'Dict' object has no attribute 'x'
**********************************************************************
File "/Users/michael/Github/learn-python3/samples/debug/mydict2.py", line 16, in __main__.Dict
Failed example:
d2.c
Exception raised:
Traceback (most recent call last):
...
AttributeError: 'Dict' object has no attribute 'c'
**********************************************************************
1 items had failures:
2 of 9 in __main__.Dict
***Test Failed*** 2 failures.
```
注意到最后3行代码。当模块正常导入时,doctest不会被执行。只有在命令行直接运行时,才执行doctest。所以,不必担心doctest会在非测试环境下执行。
!!练习
对函数fact(n)编写doctest并执行:
```bash
# -*- coding: utf-8 -*-
def fact(n):
'''
Calculate 1*2*...*n
>>> fact(1)
1
>>> fact(10)
?
>>> fact(-1)
?
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()
```
!!小结
doctest非常有用,不但可以用来测试,还可以直接作为示例代码。通过某些文档生成工具,就可以自动把包含doctest的注释提取出来。用户看文档的时候,同时也看到了doctest。
!!参考源码
[[mydict2.py|https://github.com/michaelliao/learn-python3/blob/master/samples/debug/mydict2.py]]
!关于本文档
!!本文档用途:
梳理知识体系,分享知识成果,构建''属于自己的个人图书馆''
!!本文档使用方法:
一、点击右上角这个图标,可以将本文档保存在你的电脑中。
保存后的文档可以随时点开访问(只要你的电脑中有浏览器,IE,Chrome,火狐,或者360浏览器都可以)。
[img[guide1.png]]
二、点击每个条目的这个图标,可以编辑,然后点√符号,可以保存
[img[guide2.png]]
三、保存在你电脑中的文档可以任意编辑,不会改变本网站中的内容
四、欢迎将你整理过的个人图书馆发给我们,向更多人分享你的知识成果
''分享方式:''
如果你的个人图书馆是在目前文档上的局部修改或者添加,我们会将改动内容添加到本文档,并备注贡献者
如果你的个人图书馆有较大改动,或者自成体系,我们将会为你单独建立页面和链接,供大家分享。
联系我们:
[img[yudade.jpg]]
致谢:本文档采用Tiddlywiki技术
!文件读写
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
!!读文件
要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:
```bash
>>> f = open('/Users/michael/test.txt', 'r')
```
标示符'r'表示读,这样,我们就成功地打开了一个文件。
如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:
```bash
>>> f=open('/Users/michael/notfound.txt', 'r')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/michael/notfound.txt'
```
如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:
```bash
>>> f.read()
'Hello, world!'
```
最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:
```bash
>>> f.close()
```
由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:
```bash
try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
```
但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
```bash
with open('/path/to/file', 'r') as f:
print(f.read())
```
这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。
调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。
如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
```bash
for line in f.readlines():
print(line.strip()) # 把末尾的'\n'删掉
file-like Object
```
像open()函数返回的这种有个read()方法的对象,在Python中统称为file-like Object。除了file外,还可以是内存的字节流,网络流,自定义流等等。file-like Object不要求从特定类继承,只要写个read()方法就行。
StringIO就是在内存中创建的file-like Object,常用作临时缓冲。
!!二进制文件
前面讲的默认都是读取文本文件,并且是UTF-8编码的文本文件。要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可:
```bash
>>> f = open('/Users/michael/test.jpg', 'rb')
>>> f.read()
b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节
```
!!字符编码
要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:
```bash
>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
>>> f.read()
'测试'
```
遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能夹杂了一些非法编码的字符。遇到这种情况,open()函数还接收一个errors参数,表示如果遇到编码错误后如何处理。最简单的方式是直接忽略:
```bash
>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore')
```
!!写文件
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:
```bash
>>> f = open('/Users/michael/test.txt', 'w')
>>> f.write('Hello, world!')
>>> f.close()
```
你可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:
```bash
with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
```
要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码。
细心的童鞋会发现,以'w'模式写入文件时,如果文件已存在,会直接覆盖(相当于删掉后新写入一个文件)。如果我们希望追加到文件末尾怎么办?可以传入'a'以追加(append)模式写入。
所有模式的定义及含义可以参考Python的官方文档。
!!练习
请将本地一个文本文件读为一个str并打印出来:
```bash
# -*- coding: utf-8 -*-
fpath = r'C:\Windows\system.ini'
with open(fpath, 'r') as f:
s = f.read()
print(s)
# 运行代码观察结果
```
!!小结
在Python中,文件读写是通过open()函数打开的文件对象完成的。使用with语句操作文件IO是个好习惯。
!!参考源码
[[with_file.py|https://github.com/michaelliao/learn-python3/tree/master/samples/io/with_file.py]]
!协程
在学习异步IO模型前,我们先来了解协程。
协程,又称微线程,纤程。英文名Coroutine。
协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。
子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。
所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。
子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。
协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。
注意,在一个子程序中中断,去执行其他子程序,不是函数调用,有点类似CPU的中断。比如子程序A、B:
```bash
def A():
print('1')
print('2')
print('3')
def B():
print('x')
print('y')
print('z')
```
假设由协程执行,在执行A的过程中,可以随时中断,去执行B,B也可能在执行过程中中断再去执行A,结果可能是:
```bash
1
2
x
y
3
z
```
但是在A中是没有调用B的,所以协程的调用比函数调用理解起来要难一些。
看起来A、B的执行有点像多线程,但协程的特点在于是一个线程执行,那和多线程比,协程有何优势?
最大的优势就是协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。
第二大优势就是不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。
因为协程是一个线程执行,那怎么利用多核CPU呢?最简单的方法是多进程+协程,既充分利用多核,又充分发挥协程的高效率,可获得极高的性能。
Python对协程的支持是通过generator实现的。
在generator中,我们不但可以通过for循环来迭代,还可以不断调用next()函数获取由yield语句返回的下一个值。
但是Python的yield不但可以返回一个值,它还可以接收调用者发出的参数。
来看例子:
传统的生产者-消费者模型是一个线程写消息,一个线程取消息,通过锁机制控制队列和等待,但一不小心就可能死锁。
如果改用协程,生产者生产消息后,直接通过yield跳转到消费者开始执行,待消费者执行完毕后,切换回生产者继续生产,效率极高:
```bash
def consumer():
r = ''
while True:
n = yield r
if not n:
return
print('[CONSUMER] Consuming %s...' % n)
r = '200 OK'
def produce(c):
c.send(None)
n = 0
while n < 5:
n = n + 1
print('[PRODUCER] Producing %s...' % n)
r = c.send(n)
print('[PRODUCER] Consumer return: %s' % r)
c.close()
c = consumer()
produce(c)
```
执行结果:
```bash
[PRODUCER] Producing 1...
[CONSUMER] Consuming 1...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 2...
[CONSUMER] Consuming 2...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 3...
[CONSUMER] Consuming 3...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 4...
[CONSUMER] Consuming 4...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 5...
[CONSUMER] Consuming 5...
[PRODUCER] Consumer return: 200 OK
```
注意到consumer函数是一个generator,把一个consumer传入produce后:
首先调用c.send(None)启动生成器;
然后,一旦生产了东西,通过c.send(n)切换到consumer执行;
consumer通过yield拿到消息,处理,又通过yield把结果传回;
produce拿到consumer处理的结果,继续生产下一条消息;
produce决定不生产了,通过c.close()关闭consumer,整个过程结束。
整个流程无锁,由一个线程执行,produce和consumer协作完成任务,所以称为“协程”,而非线程的抢占式多任务。
最后套用Donald Knuth的一句话总结协程的特点:
`“子程序就是协程的一种特例。”`
!!参考源码
[[coroutine.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/coroutine.py]]
!序列化
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:
```bash
d = dict(name='Bob', age=20, score=88)
```
可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。
我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。
序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
Python提供了pickle模块来实现序列化。
首先,我们尝试把一个对象序列化并写入文件:
```bash
>>> import pickle
>>> d = dict(name='Bob', age=20, score=88)
>>> pickle.dumps(d)
b'\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x05\x00\x00\x00scoreq\x02KXX\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00Bobq\x04u.'
```
pickle.dumps()方法把任意对象序列化成一个bytes,然后,就可以把这个bytes写入文件。或者用另一个方法pickle.dump()直接把对象序列化后写入一个file-like Object:
```
>>> f = open('dump.txt', 'wb')
>>> pickle.dump(d, f)
>>> f.close()
```
看看写入的dump.txt文件,一堆乱七八糟的内容,这些都是Python保存的对象内部信息。
当我们要把对象从磁盘读到内存时,可以先把内容读到一个bytes,然后用pickle.loads()方法反序列化出对象,也可以直接用pickle.load()方法从一个file-like Object中直接反序列化出对象。我们打开另一个Python命令行来反序列化刚才保存的对象:
```bash
>>> f = open('dump.txt', 'rb')
>>> d = pickle.load(f)
>>> f.close()
>>> d
{'age': 20, 'score': 88, 'name': 'Bob'}
```
变量的内容又回来了!
当然,这个变量和原来的变量是完全不相干的对象,它们只是内容相同而已。
Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,不能成功地反序列化也没关系。
!!JSON
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:
|JSON类型 |Python类型|
|{} |dict|
|[] |list|
|"string" |str|
|1234.56 |int或float|
|true/false |True/False|
|null |None|
Python内置的json模块提供了非常完善的Python对象到JSON格式的转换。我们先看看如何把Python对象变成一个JSON:
```bash
>>> import json
>>> d = dict(name='Bob', age=20, score=88)
>>> json.dumps(d)
'{"age": 20, "score": 88, "name": "Bob"}'
```
dumps()方法返回一个str,内容就是标准的JSON。类似的,dump()方法可以直接把JSON写入一个file-like Object。
要把JSON反序列化为Python对象,用loads()或者对应的load()方法,前者把JSON的字符串反序列化,后者从file-like Object中读取字符串并反序列化:
```bash
>>> json_str = '{"age": 20, "score": 88, "name": "Bob"}'
>>> json.loads(json_str)
{'age': 20, 'score': 88, 'name': 'Bob'}
```
由于JSON标准规定JSON编码是UTF-8,所以我们总是能正确地在Python的str与JSON的字符串之间转换。
!!JSON进阶
Python的dict对象可以直接序列化为JSON的{},不过,很多时候,我们更喜欢用class表示对象,比如定义Student类,然后序列化:
```bash
import json
class Student(object):
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
s = Student('Bob', 20, 88)
print(json.dumps(s))
```
运行代码,毫不留情地得到一个TypeError:
```bash
Traceback (most recent call last):
...
TypeError: <__main__.Student object at 0x10603cc50> is not JSON serializable
```
错误的原因是Student对象不是一个可序列化为JSON的对象。
如果连class的实例对象都无法序列化为JSON,这肯定不合理!
别急,我们仔细看看dumps()方法的参数列表,可以发现,除了第一个必须的obj参数外,dumps()方法还提供了一大堆的可选参数:
https://docs.python.org/3/library/json.html#json.dumps
这些可选参数就是让我们来定制JSON序列化。前面的代码之所以无法把Student类实例序列化为JSON,是因为默认情况下,dumps()方法不知道如何将Student实例变为一个JSON的{}对象。
可选参数default就是把任意一个对象变成一个可序列为JSON的对象,我们只需要为Student专门写一个转换函数,再把函数传进去即可:
```bash
def student2dict(std):
return {
'name': std.name,
'age': std.age,
'score': std.score
}
```
这样,Student实例首先被student2dict()函数转换成dict,然后再被顺利序列化为JSON:
```bash
>>> print(json.dumps(s, default=student2dict))
{"age": 20, "name": "Bob", "score": 88}
```
不过,下次如果遇到一个Teacher类的实例,照样无法序列化为JSON。我们可以偷个懒,把任意class的实例变为dict:
```bash
print(json.dumps(s, default=lambda obj: obj.__dict__))
```
因为通常class的实例都有一个`__dict__`属性,它就是一个dict,用来存储实例变量。也有少数例外,比如定义了`__slots__`的class。
同样的道理,如果我们要把JSON反序列化为一个Student对象实例,loads()方法首先转换出一个dict对象,然后,我们传入的object_hook函数负责把dict转换为Student实例:
```bash
def dict2student(d):
return Student(d['name'], d['age'], d['score'])
```
运行结果如下:
```bash
>>> json_str = '{"age": 20, "score": 88, "name": "Bob"}'
>>> print(json.loads(json_str, object_hook=dict2student))
<__main__.Student object at 0x10cd3c190>
```
打印出的是反序列化的Student实例对象。
!!练习
对中文进行JSON序列化时,json.dumps()提供了一个ensure_ascii参数,观察该参数对结果的影响:
```bash
# -*- coding: utf-8 -*-
import json
obj = dict(name='小明', age=20)
s = json.dumps(obj, ensure_ascii=True)
print(s)
```
!!小结
Python语言特定的序列化模块是pickle,但如果要把序列化搞得更通用、更符合Web标准,就可以使用json模块。
json模块的dumps()和loads()函数是定义得非常好的接口的典范。当我们使用时,只需要传入一个必须的参数。但是,当默认的序列化或反序列机制不满足我们的要求时,我们又可以传入更多的参数来定制序列化或反序列化的规则,既做到了接口简单易用,又做到了充分的扩展性和灵活性。
!!参考源码
[[use_pickle.py|https://github.com/michaelliao/learn-python3/blob/master/samples/io/use_pickle.py]]
[[use_json.py|https://github.com/michaelliao/learn-python3/blob/master/samples/io/use_json.py]]
!!! 机会
* [[实习 - 微软亚洲研究院“明日之星”开放岗位|http://mp.weixin.qq.com/s?__biz=MzA4NzIyMDY0OA==&mid=2655391644&idx=1&sn=e3c63a2838439ab990fb0372fe665d69&chksm=8b8e675bbcf9ee4ddcd6e51cdca6c0c07298c3632cf388bb2932ecc1ae15273714a178e2f7ee&mpshare=1&scene=23&srcid=1102ZHSwSRuzjzvybqVqvjNG#rd]]
!!! 实验室信息
* Shu Wu 吴书
** http://shuwu.name
** 中科院自动化研究所 智能感知与计算研究中心
* Wang Cong 王枞
** http://school.freekaoyan.com/bj/bupt/daoshi/20130811/1376182278164094.shtml
** 智能信息处理、信息安全、网络安全
* 北大可视化研究中心
** http://vis.pku.edu.cn
* 吴国仕
** http://school.freekaoyan.com/bj/bupt/daoshi/20130811/1376188859164239.shtml
** 大数据与智能信息处理
!!! 购书
* Android 系 https://sale.jd.com/act/RBGaVDt3qnjd58.html
* 人工智能与深度学习系 https://sale.jd.com/act/FUTLwVHIil71C.html
!!! 考研
* 王道论坛 - 计算机考研论坛 http://www.cskaoyan.com/forum.php
!!! 出国
* 最全CMU计算机各项目录取要求与就业统计解析—总有一款适合你 https://mp.weixin.qq.com/s/eeAHhmvA7Eyib7mfhD891Q
!!! 鸡汤
* 来不及,你就不学了吗? http://wenda.tianya.cn/jinghua/1a9bqsn7l5n80asl3r9pis84e856p152imgdt
!!! 脑洞
* 代码的深渊:2022年,一个试图用AI取代程序员的故事 https://mp.weixin.qq.com/s/M_2mygXpdRVe6Sk_bsNRPg
!循环
要计算1+2+3,我们可以直接写表达式:
```bash
>>> 1 + 2 + 3
6
```
要计算1+2+3+...+10,勉强也能写出来。
但是,要计算1+2+3+...+10000,直接写表达式就不可能了。
为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
```bash
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
```
执行这段代码,会依次打印names的每一个元素:
```bash
Michael
Bob
Tracy
```
所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。
再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:
```bash
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
```
如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:
```bash
>>> list(range(5))
[0, 1, 2, 3, 4]
```
range(101)就可以生成0-100的整数序列,计算如下:
```bash
# -*- coding: utf-8 -*-
sum = 0
for x in range(101):
sum = sum + x
print(sum)
```
请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。
`第二种循环是while`循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
```bash
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
```
在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
!!练习
请利用循环依次对list中的每个名字打印出Hello, xxx!:
```bash
# -*- coding: utf-8 -*-
L = ['Bart', 'Lisa', 'Adam']
```
!!break
在循环中,break语句可以提前退出循环。例如,本来要循环打印1~100的数字:
```bash
n = 1
while n <= 100:
print(n)
n = n + 1
print('END')
```
上面的代码可以打印出1~100。
如果要提前结束循环,可以用break语句:
```bash
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
```
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
可见break的作用是提前结束循环。
!!continue
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
```bash
n = 0
while n < 10:
n = n + 1
print(n)
```
上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用continue语句跳过某些循环:
```bash
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
```
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。
!!小结
循环是让计算机做重复任务的有效的方法。
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。
请试写一个死循环程序。
参考源码
[[do_for.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/do_for.py]]
[[do_while.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/do_while.py]]
!异步IO
在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。
在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。
因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程或者多进程来并发执行代码,为多个用户服务。每个用户都会分配一个线程,如果遇到IO导致线程被挂起,其他用户的线程不受影响。
多线程和多进程的模型虽然解决了并发问题,但是系统不能无上限地增加线程。由于系统切换线程的开销也很大,所以,一旦线程数量过多,CPU的时间就花在线程切换上了,真正运行代码的时间就少了,结果导致性能严重下降。
由于我们要解决的问题是CPU高速执行能力和IO设备的龟速严重不匹配,多线程和多进程只是解决这一问题的一种方法。
另一种解决IO问题的方法是异步IO。当代码需要执行一个耗时的IO操作时,它只发出IO指令,并不等待IO结果,然后就去执行其他代码了。一段时间后,当IO返回结果时,再通知CPU进行处理。
可以想象如果按普通顺序写出的代码实际上是没法完成异步IO的:
```bash
do_some_code()
f = open('/path/to/file', 'r')
r = f.read() # <== 线程停在此处等待IO操作结果
# IO操作完成后线程才能继续执行:
do_some_code(r)
```
所以,同步IO模型的代码是无法实现异步IO模型的。
异步IO模型需要一个消息循环,在消息循环中,主线程不断地重复“读取消息-处理消息”这一过程:
```bash
loop = get_event_loop()
while True:
event = loop.get_event()
process_event(event)
```
消息模型其实早在应用在桌面应用程序中了。一个GUI程序的主线程就负责不停地读取消息并处理消息。所有的键盘、鼠标等消息都被发送到GUI程序的消息队列中,然后由GUI程序的主线程处理。
由于GUI线程处理键盘、鼠标等消息的速度非常快,所以用户感觉不到延迟。某些时候,GUI线程在一个消息处理的过程中遇到问题导致一次消息处理时间过长,此时,用户会感觉到整个GUI程序停止响应了,敲键盘、点鼠标都没有反应。这种情况说明在消息模型中,处理一个消息必须非常迅速,否则,主线程将无法及时处理消息队列中的其他消息,导致程序看上去停止响应。
消息模型是如何解决同步IO必须等待IO操作这一问题的呢?当遇到IO操作时,代码只负责发出IO请求,不等待IO结果,然后直接结束本轮消息处理,进入下一轮消息处理过程。当IO操作完成后,将收到一条“IO完成”的消息,处理该消息时就可以直接获取IO操作结果。
在“发出IO请求”到收到“IO完成”的这段时间里,同步IO模型下,主线程只能挂起,但异步IO模型下,主线程并没有休息,而是在消息循环中继续处理其他消息。这样,在异步IO模型下,一个线程就可以同时处理多个IO请求,并且没有切换线程的操作。对于大多数IO密集型的应用程序,使用异步IO将大大提升系统的多任务处理能力。
!!接下来需要了解:
[[协程]]
[[asyncio]]
[[async/await]]
[[aiohttp]]
!正则表达式
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
所以我们判断一个字符串是否是合法的Email的方法是:
创建一个匹配Email的正则表达式;
用该正则表达式去匹配用户的输入来判断是否合法。
因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用字符来描述字符。
在正则表达式中,如果直接给出字符,就是精确匹配。用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:
* '00\d'可以匹配'007',但无法匹配'00A';
* '\d\d\d'可以匹配'010';
* '\w\w\d'可以匹配'py3';
* .可以匹配任意字符,所以:
'py.'可以匹配'pyc'、'pyo'、'py!'等等。
要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符:
来看一个复杂的例子:\d{3}\s+\d{3,8}。
我们来从左到右解读一下:
# \d{3}表示匹配3个数字,例如'010';
# \s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ',' '等;
# \d{3,8}表示3-8个数字,例如'1234567'。
综合起来,上面的正则表达式可以匹配以任意个空格隔开的带区号的电话号码。
如果要匹配'010-12345'这样的号码呢?由于'-'是特殊字符,在正则表达式中,要用'\'转义,所以,上面的正则是\d{3}\-\d{3,8}。
但是,仍然无法匹配'010 - 12345',因为带有空格。所以我们需要更复杂的匹配方式。
!!进阶
要做更精确地匹配,可以用[]表示范围,比如:
[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;
[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100','0_Z','Py3000'等等;
[a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'。
^表示行的开头,^\d表示必须以数字开头。
$表示行的结束,\d$表示必须以数字结束。
你可能注意到了,py也可以匹配'python',但是加上^py$就变成了整行匹配,就只能匹配'py'了。
!!re模块
有了准备知识,我们就可以在Python中使用正则表达式了。Python提供re模块,包含所有正则表达式的功能。由于Python的字符串本身也用\转义,所以要特别注意:
```bash
s = 'ABC\\-001' # Python的字符串
# 对应的正则表达式字符串变成:
# 'ABC\-001'
```
因此我们强烈建议使用Python的r前缀,就不用考虑转义的问题了:
```bash
s = r'ABC\-001' # Python的字符串
# 对应的正则表达式字符串不变:
# 'ABC\-001'
```
先看看如何判断正则表达式是否匹配:
```bash
>>> import re
>>> re.match(r'^\d{3}\-\d{3,8}$', '010-12345')
<_sre.SRE_Match object; span=(0, 9), match='010-12345'>
>>> re.match(r'^\d{3}\-\d{3,8}$', '010 12345')
>>>
```
match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。常见的判断方法就是:
```bash
test = '用户输入的字符串'
if re.match(r'正则表达式', test):
print('ok')
else:
print('failed')
```
!!切分字符串
用正则表达式切分字符串比用固定的字符更灵活,请看正常的切分代码:
```bash
>>> 'a b c'.split(' ')
['a', 'b', '', '', 'c']
```
嗯,无法识别连续的空格,用正则表达式试试:
```bash
>>> re.split(r'\s+', 'a b c')
['a', 'b', 'c']
```
无论多少个空格都可以正常分割。加入,试试:
```bash
>>> re.split(r'[\s\,]+', 'a,b, c d')
['a', 'b', 'c', 'd']
```
再加入;试试:
```bash
>>> re.split(r'[\s\,\;]+', 'a,b;; c d')
['a', 'b', 'c', 'd']
```
如果用户输入了一组标签,下次记得用正则表达式来把不规范的输入转化成正确的数组。
!!分组
除了简单地判断是否匹配之外,正则表达式还有提取子串的强大功能。用()表示的就是要提取的分组(Group)。比如:
^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码:
```bash
>>> m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
>>> m
<_sre.SRE_Match object; span=(0, 9), match='010-12345'>
>>> m.group(0)
'010-12345'
>>> m.group(1)
'010'
>>> m.group(2)
'12345'
```
如果正则表达式中定义了组,就可以在Match对象上用group()方法提取出子串来。
注意到group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串。
提取子串非常有用。来看一个更凶残的例子:
```bash
>>> t = '19:05:30'
>>> m = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t)
>>> m.groups()
('19', '05', '30')
```
这个正则表达式可以直接识别合法的时间。但是有些时候,用正则表达式也无法做到完全验证,比如识别日期:
```bash
'^(0[1-9]|1[0-2]|[0-9])-(0[1-9]|1[0-9]|2[0-9]|3[0-1]|[0-9])$'
```
对于'2-30','4-31'这样的非法日期,用正则还是识别不了,或者说写出来非常困难,这时就需要程序配合识别了。
!!贪婪匹配
最后需要特别指出的是,正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符。举例如下,匹配出数字后面的0:
```bash
>>> re.match(r'^(\d+)(0*)$', '102300').groups()
('102300', '')
```
由于\d+采用贪婪匹配,直接把后面的0全部匹配了,结果0*只能匹配空字符串了。
必须让\d+采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0匹配出来,加个?就可以让\d+采用非贪婪匹配:
```bash
>>> re.match(r'^(\d+?)(0*)$', '102300').groups()
('1023', '00')
```
!!编译
当我们在Python中使用正则表达式时,re模块内部会干两件事情:
编译正则表达式,如果正则表达式的字符串本身不合法,会报错;
用编译后的正则表达式去匹配字符串。
如果一个正则表达式要重复使用几千次,出于效率的考虑,我们可以预编译该正则表达式,接下来重复使用时就不需要编译这个步骤了,直接匹配:
```bash
>>> import re
# 编译:
>>> re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
# 使用:
>>> re_telephone.match('010-12345').groups()
('010', '12345')
>>> re_telephone.match('010-8086').groups()
('010', '8086')
```
编译后生成Regular Expression对象,由于该对象自己包含了正则表达式,所以调用对应的方法时不用给出正则字符串。
!!小结
正则表达式非常强大,要在短短的一节里讲完是不可能的。要讲清楚正则的所有内容,可以写一本厚厚的书了。如果你经常遇到正则表达式的问题,你可能需要一本正则表达式的参考书。
!!练习
请尝试写一个验证Email地址的正则表达式。版本一应该可以验证出类似的Email:
```bash
someone@gmail.com
bill.gates@microsoft.com
# -*- coding: utf-8 -*-
import re
def is_valid_email(addr):
return True
# 测试:
assert is_valid_email('someone@gmail.com')
assert is_valid_email('bill.gates@microsoft.com')
assert not is_valid_email('bob#example.com')
assert not is_valid_email('mr-bob@example.com')
print('ok')
```
版本二可以提取出带名字的Email地址:
```bash
<Tom Paris> tom@voyager.org => Tom Paris
bob@example.com => bob
# -*- coding: utf-8 -*-
import re
def name_of_email(addr):
return None
# 测试:
assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'
assert name_of_email('tom@voyager.org') == 'tom'
print('ok')
```
!!参考源码
[[regex.py|https://github.com/michaelliao/learn-python3/blob/master/samples/regex/regex.py]]
中华人民共和国学科分类与代码国家标准(GB/T13745-2009)
《中华人民共和国国家标准GB/T13745-2009》,由中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会于2009年5月6日发布,2009年11月1日实施。以下为摘录该标准的《学科分类代码表》内容:
!一级学科目录
!!自然科学类
110 数学
130 力学
140 物理学
150 化学
160 天文学
170 地球科学
180 生物学
!!农业科学类
210 农学
220 林学
230 畜牧、兽医科学
240 水产学
!!医药科学类
310 基础医学
320 临床医学
330 预防医学与卫生学
340 军事医学与特种医学
350 药学
360 中医学与中药学
!!工程与技术学类
410 工程与技术科学基础学科
420 测绘科学技术
430 材料科学
440 矿山工程技术
450 冶金工程技术
460 机械工程
470 动力与电气工程
480 能源科学技术
490 核科学技术
510 电子、通信与自动控制技术
520 计算机科学技术
530 化学工程
540 纺织科学技术
550 食品科学技术
560 土木建筑工程
570 水利工程
580 交通运输工程
590 航空、航天科学技术
610 环境科学技术
620 安全科学技术
630 管理学
!!人文与社会科学类
710 马克思主义
720 哲学
730 宗教学
740 语言学
750 文学
760 艺术学
770 历史学
780 考古学
790 经济学
810 政治学
820 法学
830 军事学
840 社会学
850 民族学
860 新闻学与传播学
870 图书馆、情报与文献学
880 教育学
890 体育科学
910 统计学
!具体学科细分:
110 数学
110.11 数学史
110.14 数理逻辑与数学基础 110.1410 演绎逻辑学(亦称符号逻辑学) 110.1420 证明论(亦称元数学) 110.1430 递归论 110.1440 模型论
110.1450 公理集合论 110.1460 数学基础 110.1499 数理逻辑与数学基础其他学科
110.17 数论 110.1710 初等数论 110.1720 解析数论 110.1730 代数数论 110.1740 超越数论 110.1750 丢番图逼近
110.1760 数的几何 110.1770 概率数论 110.1780 计算数论 110.1799 数论其他学科
110.21 代数学 110.2110 线性代数 110.2115 群论 110.2120 域论 110.2125 李群 110.2130 李代数 110.2135 Kac-Moody代数
110.2140 环论 110.2145 模论 110.2150 格论 110.2155 泛代数理论 110.2160 范畴论 110.2165 同调代数 110.2170 代数K理论
110.2175 微分代数 110.2180 代数编码理论 110.2199 代数学其他学科
110.24 代数几何学
110.27 几何学 110.2710 几何学基础 110.2715 欧氏几何学 110.2720 非欧几何学(包括黎曼几何学等) 110.2725 球面几何学
110.2730 向量和张量分析 110.2735 仿射几何学 110.2740 射影几何学 110.2745 微分几何学 110.2750 分数维几何 110.2755 计算几何学
110.2799 几何学其他学科
110.31 拓扑学 110.3110 点集拓扑学 110.3115 代数拓扑学 110.3120 同伦论 110.3125 低维拓扑学 110.3130 同调论 110.3135 维数论
110.3140 格上拓扑学 110.3145 纤维丛论 110.3150 几何拓扑学 110.3155 奇点理论 110.3160 微分拓扑学 110.3199 拓扑学其他学科
110.34 数学分析 110.3410 微分学 110.3420 积分学 110.3430 级数论 110.3499 数学分析其他学科
110.37 非标准分析
110.41 函数论 110.4110 实变函数论 110.4120 单复变函数论 110.4130 多复变函数论 110.4140 函数逼近论 110.4150 调和分析
110.4160 复流形 110.4170 特殊函数论 110.4199 函数论其他学科
110.44 常微分方程 110.4410 定性理论 110.4420 稳定性理论 110.4430 解析理论 110.4499 常微分方程其他学科
110.47 偏微分方程 110.4710 椭圆型偏微分方程 110.4720 双曲型偏微分方程 110.4730 抛物型偏微分方程 110.4740 非线性偏微分方程
110.4799 偏微分方程其他学科
110.51 动力系统 110.5110 微分动力系统 110.5120 拓扑动力系统 110.5130 复动力系统 110.5199 动力系统其他学科
110.54 积分方程
110.57 泛函分析 110.5710 线性算子理论 110.5715 变分法 110.5720 拓扑线性空间 110.5725 希尔伯特空间 110.5730 函数空间
110.5735 巴拿赫空间 110.5740 算子代数 110.5745 测度与积分 110.5750 广义函数论 110.5755 非线性泛函分析 110.5799 泛函分析其他学科
110.61 计算数学 110.6110 插值法与逼近论 110.6120 常微分方程数值解 110.6130 偏微分方程数值解 110.6140 积分方程数值解
110.6150 数值代数 110.6160 连续问题离散化方法 110.6170 随机数值实验 110.6180 误差分析 110.6199 计算数学其他学科
110.64 概率论 110.6410 几何概率 110.6420 概率分布 110.6430 极限理论 110.6440 随机过程 110.6450 马尔可夫过程
110.6460 随机分析 110.6470 鞅论 110.6480 应用概率论 110.6499 概率论其他学科
110.67 数理统计学 110.6710 抽样理论 110.6715 假设检验 110.6720 非参数统计 110.6725 方差分析 110.6730 相关回归分析
110.6735 统计推断 110.6740 贝叶斯统计 110.6745 试验设计 110.6750 多元分析 110.6755 统计判决理论 110.6760 时间序列分析
110.6799 数理统计学其他学科
110.71 应用统计数学 110.7110 统计质量控制 110.7120 可靠性数学 110.7130 保险数学 110.7140 统计模拟 110.7199 应用统计数学其他学科
11
120.20 系统学 120.2010 混沌 120.2020 一般系统论 120.2030 耗散结构理论 120.2040 协同学 120.2050 突变论 120.2060 超循环论
120.2099 系统学其他学科
120.30 控制理论 120.3010 大系统理论 120.3020 系统辩识 120.3030 状态估计 120.3040 鲁棒控制 120.3099 控制理论其他学科
120.40 系统评估与可行性分析
120.50 系统工程方法论 120.5010 系统建模 120.5099 系统工程方法论其他学科
120.60 系统工程
120.99 信息科学与系统科学其他学科
130 力学
130.10 基础力学 130.1010 理论力学 130.1020 理性力学 130.1030 非线性力学 130.1040 连续介质力学 130.1050 摩擦学
130.1060 柔性多体力学 130.1070 陀螺力学 130.1080 飞行力学 130.1099 基础力学其他学科
130.15 固体力学 130.1510 弹性力学 130.1515 塑性力学(包括弹塑性力学) 130.1520 粘弹性、粘塑性力学 130.1525 蠕变
130.1530 界面力学与表面力学 130.1535 疲劳 130.1540 损伤力学 130.1545 断裂力学 130.1550 散体力学 130.1555 细观力学
130.1560 电磁固体力学 130.1565 结构力学 130.1570 计算固体力学 130.1575 实验固体力学 130.1599 固体力学其他学科
130.20 振动与波 130.2010 线性振动力学 130.2020 非线性振动力学 130.2030 弹性体振动力学 130.2040 随机振动力学
130.2050 振动控制理论 130.2060 固体中的波 130.2070 流体-固体耦合振动 130.2099 振动与波其他学科
130.25 流体力学 130.2511 理论流体力学 130.2514 水动力学 130.2517 气体动力学 130.2521 空气动力学 130.2524 悬浮体力学
130.2527 湍流理论 130.2531 粘性流体力学 130.2534 多相流体力学 130.2537 渗流力学 130.2541 物理-化学流体力学
130.2544 等离子体动力学 130.2547 电磁流体力学 130.2551 非牛顿流体力学 130.2554 流体机械流体力学 130.2557 旋转与分层流体力学
130.2561 辐射流体力学 130.2564 计算流体力学 130.2567 实验流体力学 130.2571 环境流体力学 130.2599 流体力学其他学科
130.30 流变学
130.35 爆炸力学 130.3510 爆轰与爆燃理论 130.3520 爆炸波、冲击波、应力波 130.3530 高速碰撞动力学 130.3599 爆炸力学其他学科
130.40 物理力学 130.4010 高压固体物理力学 130.4020 稠密流体物理力学 130.4030 高温气体物理力学 130.4040 多相介质物理力学
130.4050 临界现象与相变 130.4060 原子与分子动力学 130.4099 物理力学其他学科
130.45 统计力学
130.50 应用力学
130.99 力学其他学科
140 物理学
140.10 物理学史
140.15 理论物理学
140.1510 数学物理 140.1520 电磁场理论 140.1530 经典场论 140.1540 相对论与引力场
140.1550 量子力学 140.1560 统计物理学 140.1599 理论物理学其他学科
140.20 声学
140.2010 物理声学 140.2020 非线性声学 140.2030 量子声学 140.2040 超声学
140.2050 水声学 140.2060 应用声学 140.2099 声学其他学科
140.25 热学
140.2510 热力学 140.2520 热物性学 140.2530 传热学 140.2599 热学其他学科
140.30 光学
140.3010 几何光学 140.3015 物理光学 140.3020 非线性光学 140.3025 光谱学
140.3030 量子光学 140.3035 信息光学 140.3040 导波光学 140.3045 发光学
140.3050 红外物理 140.3055 激光物理 140.3060 应用光学 140.3099 光学其他学科
140.35 电磁学
140.3510 电学 140.3520 静电学 140.3530 静磁学 140.3540 电动力学
140.3599 电磁学其他学科
140.40 无线电物理
140.4010 电磁波物理 140.4020 量子无线电物理 140.4030 微波物理学 140.4040 超高频无线电物理
140.4050 统计无线电物理 140.4099 无线电物理其他学科
140.45 电子物理学
140.4510 量子电子学 140.4520 电子离子与真空物理 140.4530 带电粒子光学 140.4599 电子物理学其他学科
140.50 凝聚态物理学
140.5010 凝聚态理论 140.5015 金属物理学 140.5020 半导体物理学 140.5025 电介质物理学
140.5030 晶体学(包括晶体生长、晶体化学等) 140.5035 非晶态物理学 140.5040 液晶物理学 140.5045 薄膜物理学
140.5050 低维物理 140.5055 表面与界面物理学 140.5060 固体发光 140.5065 磁学
140.5070 超导物理学 140.5075 低温物理学 140.5080 高压物理学 140.5099 凝聚态物理学其他学科
140.55 等离子体物理学
140.5510 热核聚变等离子体物理学 140.5520 低温等离子体物理学 140.5530 等离子体光谱学 140.5540 凝聚态等离子体物理学
140.5550 非中性等离子体物理学 140.5599 等离子体物理学其他学科
140.60 原子分子物理学
140.6010 原子与分子理论 140.6020 原子光谱学 140.6030 分子光谱学 140.6040 波谱学
140.6050 原子与分子碰撞过程 140.6099 原子分子物理学其他学科
140.65 原子核物理学
140.6510 核结构 140.6515 核能谱学 140.6520 低能核反应 140.6525 中子物理学
140.6530 裂变物理学 140.6535 聚变物理学 140.6540 轻粒子核物理学 140.6545 重离子核物理学
140.6550 中高能核物理学 140.6599 原子核物理学其他学科
140.70 高能物理学
140.7010 基本粒子物理学 140.7020 宇宙线物理学 140.7030 粒子加速器物理学 140.7040 高能物理实验
140.7099 高能物理学其他学科
140.75 计算物理学
140.80 应用物理学
140.99 物理学其他学科
150 化学
150.10 化学史
150.15 无机化学
150.1510 元素化学 150.1520 配位化学 150.1530 同位素化学 150.1540 无机固体化学
150.1550 无机合成化学 150.1560 无机分离化学 150.1570 物理无机化学 150.1580 生物无机化学
150.1599 无机化学其他学科
150.20 有机化学
150.2010 元素有机化学(包括金属有机化学等) 150.2020 天然产物有机化学 150.2030 有机固体化学 150.2040 有机合成化学
150.2050 有机光化学 150.2060 物理有机化学(包括理论有机化学、立体化学等) 150.2070 生物有机化学 150.2099 有机化学其他学科
150.25 分析化学
150.2510 化学分析(包括定性分析、定量分析等) 150.2515 电化学分析 150.2520 光谱分析 150.2525 波谱分析
150.2530 质谱分析 150.2535 热谱分析 150.2540 色谱分析 150.2545 光度分析
150.2550 放射分析 150.2555 状态分析与物相分析 150.2560 分析化学计量学 150.2599 分析化学其他学科
150.30 物理化学
150.3010 化学热力学 150.3015 化学动力学(包括分子反应动力学等) 150.3020 结构化学(包括表面化学、结构分析等)
150.3025 量子化学 150.3030 胶体化学与界面化学 150.3035 催化化学 150.3040 热化学
150.3045 光化学(包括超分子光化学、光电化学、激光化学、感光化学等) 150.3050 电化学 150.3055 磁化学
150.3060 高能化学(包括辐射化学,等离体化学) 150.3065 计算化学 150.3099 物理化学其他学科
150.35 化学物理学
150.40 高分子物理
150.45 高分子化学
150.4510 无机高分子化学 150.4520 天然高分子化学 150.4530 功能高分子(包括液晶高分子化学)
150.4540 高分子合成化学 150.4550 高分子物理化学 150.4560 高分子光化学 150.4599 高分子化学其他学科
150.50 核化学
150.5010 放射化学 150.5020 核反应化学 150.5030 裂变化学 150.5040 聚变化学
150.5050 重离子核化学 150.5060 核转变化学 150.5070 环境放射化学 150.5099 核化学其他学科
150.55 应用化学
150.99 化学其他学科
160 天文学
160.10 天文学史
160.15 天体力学
160.1510 摄动理论 160.1520 天体力学定性理论 160.1530 天体形状与自转理论 160.1540 天体力学数值方法
160.1550 天文动力学(包括人造卫星、宇宙飞船动力学等) 160.1560 历书天文学 160.1599 天体力学其他学科
160.20 天体物理学
160.2010 理论天体物理学 160.2020 相对论天体物理学 160.2030 等离子体天体物理学
160.2040 高能天体物理学(包括天体核物理学) 160.2050 实测天体物理学 160.2099 天体物理学其他学科
160.25 天体化学
160.30 天体测量学
160.3010 天文地球动力学 160.3020 基本天体测量学 160.3030 照相天体测量学 160.3040 射电天体测量学
160.3050 空间天体测量学 160.3060 方位天文学 160.3070 实用天文学 160.3099 天体测量学其他学科
160.35 射电天文学
160.3510 射电天体物理学 160.3520 射电天文方法 160.3599 射电天文学其他学科
160.40 空间天文学
160.4010 红外天文学 160.4020 紫外天文学 160.4030 X射线天文学 160.4040 r射线天文学
160.4050 中微子天文学 160.4099 空间天文学其他学科
160.45 天体演化学(各层次天体形成与演化入各学科)
160.50 星系与宇宙学
160.5010 星系动力学 160.5020 星系天文学 160.5030 运动宇宙学 160.5040 星系际物质
160.5050 大爆炸宇宙论 160.5060 星系形成与演化 160.5070 宇宙大尺度结构起源与演化 160.5099 星系与宇宙学其他学科
160.55 恒星与银河系
160.5510 恒星物理学 160.5520 恒星天文学 160.5530 恒星形成与演化 160.5540 星际物质物理学
160.5550 银河系结构与运动 160.5599 恒星与银河系其他学科
160.60 太阳与太阳系
160.6010 太阳物理学 160.6020 太阳系物理学 160.6030 太阳系形成与演化 160.6040 行星物理学
160.6050 行星际物理学 160.6060 陨星学 160.6099 太阳与太阳系其他学科
160.65 天体生物学
160.99 天文学其他学科
170 地球科学
170.10 地球科学史
170.15 大气科学
170.1510 大气物理学(包括大气光学、大气声学、大气电学、云雾物理学、边界层物理学、中层物理学等)
170.1515 大气化学 170.1520 大气探测(包括大气遥感) 170.1525 动力气象学(包括数值天气预报与数值模拟等) 170.1530 天气学
170.1535 气候学 170.1540 云与降水物理学 170.1545 应用气象学 170.1599 大气科学其他学科
170.20 固体地球物理学
170.2010 地球动力学 170.2015 地球重力学 170.2020 地球流体力学 170.2025 地壳与地形变
170.2030 地球内部物理学 170.2035 地声学 170.2040 地热学 170.2045 地电学
170.2050 地磁学 170.2055 放射性地球物理学 170.2060 地震学 170.2065 勘探地球物理学
170.2070 计算地球物理学 170.2075 实验地球物理学 170.2099 固体地球物理学其他学科
170.25 空间物理学
170.2510 电离层物理学 170.2520 高层大气物理学 170.2530 磁层物理学 170.2540 空间物理探测
170.2550 空间环境学 170.2599 空间物理学其他学科
170.30 地球化学
170.3010 元素地球化学 170.3015 有机地球化学 170.3020 放射性地球化学 170.3025 同位素地球化学
170.3030 生物地球化学 170.3035 地球内部化学 170.3040 同位素地质年代学 170.3045 成矿地球化学
170.3050 勘探地球化学 170.3055 实验地球化学 170.3099 地球化学其他学科
170.35 大地测量学
170.3510 地球形状学 170.3520 几何大地测量学 170.3530 物理大地测量学 170.3540 动力大地测量学
170.3550 空间大地测量学 170.3560 行星大地测量学 170.3599 大地测量学其他学科
170.40 地图学
170.45 地理学
170.4510 自然地理学(包括化学地理学、生态地理学、地貌学、冰川学、冻土学、沙漠学、岩溶学等)
170.4520 人文地理学(包括区域地理、旅游地理, 其他入有关学科) 170.4599 地理学其他学科
170.50 地质学
170.5011 数学地质学 170.5014 地质力学 170.5017 动力地质学 170.5021 矿物学(包括放射性矿物学)
170.5024 矿床学与矿相学(包括放射性矿床学,不包括石油、天然气和煤。)
170.5027 岩石学 170.5031 岩土力学 170.5034 沉积学 170.5037 古地理学
170.5041 古生物学 170.5044 地层学与地史学 170.5047 前寒武纪地质学 170.5051 第四纪地质学
170.5054 构造地质学(包括显微构造学等) 170.5057 大地构造学 170.5061 勘查地质学
170.5064 水文地质学(包括放射性水文地质学) 170.5067 遥感地质学 170.5071 区域地质学 170.5074 火山学
170.5077 石油与天然气地质学 170.5081 煤田地质学 170.5084 实验地质学 170.5099 地质学其他学科
170.55 水文学
170.5510 水文物理学 170.5515 水文化学 170.5520 水文地理学 170.5525 水文气象学
170.5530 水文测量 170.5535 水文图学 170.5540 湖沼学 170.5545 河流学与河口水文学
170.5599 水文学其他学科
170.60 海洋科学
170.6010 海洋物理学 170.6015 海洋化学 170.6020 海洋地球物理学 170.6025 海洋气象学
170.6030 海洋地质学 170.6035 物理海洋学 170.6040 海洋生物学 170.6045 河口、海岸学
170.6050 海洋调查与监测 170.6099 海洋科学其他学科
170.99 地球科学其他学科
180 生物学
180.11 生物数学(包括生物统计学等)
180.14 生物物理学
180.1410 生物信息论与生物控制论 180.1415 生物力学(包括生物流体力学与生物流变学等) 180.1420 理论生物物理学
180.1425 生物声学与声生物物理学 180.1430 生物光学与光生物物理学 180.1435 生物电磁学 180.1440 生物能量学
180.1445 低温生物物理学 180.1450 分子生物物理学 180.1455 空间生物物理学 180.1460 仿生学
180.1465 系统生物物理学 180.1499 生物物理学其他学科
180.17 生物化学
180.1710 多肽与蛋白质生物化学 180.1715 核酸生物化学 180.1720 多糖生物化学 180.1725 脂类生物化学
180.1730 酶学 180.1735 膜生物化学 180.1740 激素生物化学 180.1745 生殖生物化学
180.1750 免疫生物化学 180.1755 毒理生物化学 180.1760 比较生物化学 180.1765 应用生物化学
180.1799 生物化学其他学科
180.21 细胞生物学
180.2110 细胞生物物理学 180.2120 细胞结构与形态学 180.2130 细胞生理学 180.2140 细胞进化学
180.2150 细胞免疫学 180.2160 细胞病理学 180.2199 细胞生物学其他学科
180.24 生理学
180.2411 形态生理学 180.2414 新陈代谢与营养生理学 180.2417 心血管生理学 180.2421 呼吸生理学
180.2424 消化生理学 180.2427 血液生理学 180.2431 泌尿生理学 180.2434 内分泌生理学
180.2437 感官生理学 180.2441 生殖生理学 180.2444 骨骼生理学 180.2447 肌肉生理学
180.2451 皮肤生理学 180.2454 循环生理学 180.2457 比较生理学 180.2461 年龄生理学
180.2464 特殊环境生理学 180.2467 语言生理学 180.2499 生理学其他学科
180.27 发育生物学
180.31 遗传学
180.3110 数量遗传学 180.3115 生化遗传学 180.3120 细胞遗传学 180.3125 体细胞遗传学
180.3130 发育遗传学(亦称发生遗传学) 180.3135 分子遗传学 180.3140 辐射遗传学 180.3145 进化遗传学
180.3150 生态遗传学 180.3155 免疫遗传学 180.3160 毒理遗传学 180.3165 行为遗传学
180.3170 群体遗传学 180.3199 遗传学其他学科
180.34 放射生物学
180.3410 放射生物物理学 180.3420 细胞放射生物学 180.3430 放射生理学 180.3440 分子放射生物学
180.3450 放射免疫学 180.3460 放射毒理学 180.3499 放射生物学其他学科
180.37 分子生物学
180.41 生物进化论
180.44 生态学
180.4410 数学生态学 180.4415 化学生态学 180.4420 生理生态学 180.4425 生态毒理学
180.4430 区域生态学 180.4435 种群生态学 180.4440 群落生态学 180.4445 生态系统生态学
180.4450 生态工程学 180.4499 生态学其他学科
180.47 神经生物学
180.4710 神经生物物理学 180.4715 神经生物化学 180.4720 神经形态学 180.4725 细胞神经生物学
180.4730 神经生理学 180.4735 发育神经生物学 180.4740 分子神经生物学 180.4745 比较神经生物学
180.4750 系统神经生物学 180.4799 神经生物学其他学科
180.51 植物学
180.5110 植物化学 180.5115 植物生物物理学 180.5120 植物生物化学 180.5125 植物形态学
180.5130 植物解剖学 180.5135 植物细胞学 180.5140 植物生理学 180.5145 植物胚胎学
180.5150 植物发育学 180.5155 植物遗传学 180.5160 植物生态学 180.5165 植物地理学
180.5170 植物群落学 180.5175 植物分类学 180.5180 实验植物学 180.5185 植物寄生虫学
180.5199 植物学其他学科
180.54 昆虫学
180.5410 昆虫生物化学 180.5415 昆虫形态学 180.5420 昆虫组织学 180.5425 昆虫生理学
180.5430 昆虫生态学 180.5435 昆虫病理学 180.5440 昆虫毒理学 180.5445 昆虫行为学
180.5450 昆虫分类学 180.5455 实验昆虫学 180.5460 昆虫病毒学 180.5499 昆虫学其他学科
180.57 动物学
180.5711 动物生物物理学 180.5714 动物生物化学 180.5717 动物形态学 180.5721 动物解剖学
180.5724 动物组织学 180.5727 动物细胞学 180.5731 动物生理学 180.5734 动物生殖生物学
180.5737 动物生长发育学 180.5741 动物遗传学 180.5744 动物生态学 180.5747 动物病理学
180.5751 动物行为学 180.5754 动物地理学 180.5757 动物分类学 180.5761 实验动物学
180.5764 动物寄生虫学 180.5767 动物病毒学 180.5799 动物学其他学科
180.61 微生物学
180.6110 微生物生物化学 180.6115 微生物生理学 180.6120 微生物遗传学 180.6125 微生物生态学
180.6130 微生物免疫学 180.6135 微生物分类学 180.6140 真菌学 180.6145 细菌学
180.6150 应用微生物学 180.6199 微生物学其他学科
180.64 病毒学
180.6410 病毒生物化学 180.6420 分子病毒学 180.6430 病毒生态学 180.6440 病毒分类学
180.6499 病毒学其他学科
180.67 人类学
180.6710 人类起源与演化学 180.6715 人类形态学 180.6720 人类遗传学 180.6725 分子人类学
180.6730 人类生态学 180.6735 心理人类学 180.6740 古人类学 180.6745 人种学
180.6750 人体测量学 180.6799 人类学其他学科
180.71 生物工程(亦称生物技术)
180.7110 基因工程(亦称遗传工程) 180.7120 细胞工程 180.7130 蛋白质工程 180.7140 酶工程
180.7150 发酵工程(亦称微生物工程) 180.7199 生物工程其他学科
180.74 心理学
180.7410 心理学史 180.7415 普通心理学 180.7420 生理心理学 180.7425 认知心理学
180.7430 发展心理学 180.7435 个性心理学 180.7440 缺陷心理学 180.7445 比较心理学
180.7450 实验心理学 180.7455 应用心理学 180.7499 心理学其他学科
180.99 生物学其他学科
210 农学
210.10 农业史
210.20 农业基础学科
210.2010 农业数学 210.2020 农业气象学与农业气候学 210.2030 农业生物物理学 210.2040 农业生物化学
210.2050 农业生态学 210.2060 农业植物学 210.2070 农业微生物学 210.2080 植物营养学
210.2099 农业基础学科其他学科
210.30 农艺学
210.3010 作物形态学 210.3015 作物生理学 210.3020 作物遗传学 210.3025 作物生态学
210.3030 种子学 210.3035 作物育种学与良种繁育学 210.3040 作物栽培学 210.3045 作物耕作学
210.3050 作物种质资源学 210.3055 农产品贮藏与加工 210.3099 农艺学其他学科
210.40 园艺学
210.4010 果树学 210.4020 瓜果学 210.4030 蔬菜学 210.4040 果蔬贮藏与加工
210.4050 茶学(包括茶加工等) 210.4060 观赏园艺学 210.4099 园艺学其他学科
210.50 土壤学
210.5010 土壤物理学 210.5015 土壤化学 210.5020 土壤地理学 210.5025 土壤生物学
210.5030 土壤生态学 210.5035 土壤耕作学 210.5040 土壤改良学 210.5045 土壤肥料学
210.5050 土壤分类学 210.5055 土壤调查与评价 210.5099 土壤学其他学科
210.60 植物保护学
210.6010 植物检疫学 210.6015 植物免疫学 210.6020 植物病理学 210.6025 植物药理学
210.6030 农业昆虫学 210.6035 植物病毒学 210.6040 农药学 210.6045 植物病虫害测报学
210.6050 抗病虫害育种 210.6055 有害生物化学防治 210.6060 有害生物生物防治 210.6065 有害生物综合防治
210.6070 杂草防治 210.6075 鸟兽、鼠害防治 210.6099 植物保护学其他学科
210.70 农业工程
210.7010 农业机械学(包括农业机械制造等) 210.7015 农业机械化 210.7020 农业电气化与自动化
210.7025 农田水利(包括灌溉工程、排水工程等) 210.7030 水土保持学 210.7035 农田测量
210.7040 农业环保工程 210.7045 农业区划 210.7050 农业系统工程 210.7099 农业工程其他学科
210.99 农学其他学科
220 林学
220.10 林业基础学科
220.1010 森林气象学 220.1020 森林地理学 220.1030 森林水文学 220.1040 森林土壤学
220.1050 树木生理学 220.1060 森林生态学 220.1070 森林植物学 220.1099 林业基础学科其他学科
220.15 林木遗传育种学
220.1510 林木育种学 220.1520 林木遗传学 220.1599 林木遗传育种学其他学科
220.20 森林培育学(亦称造林学)
220.25 森林经理学
220.2510 森林测计学 220.2520 森林测量学 220.2530 林业遥感 220.2540 林业信息管理
220.2550 林业系统工程 220.2599 森林经理学其他学科
220.30 森林保护学
220.3010 森林病理学 220.3020 森林昆虫学 220.3030 森林防火学 220.3099 森林保护学其他学科
220.35 野生动物保护与管理
220.40 防护林学
220.45 经济林学
220.50 园林学
220.5010 园林植物学 220.5020 风景园林工程 220.5030 风景园林经营与管理 220.5099 园林学其他学科
220.55 林业工程
220.5510 森林采运学 220.5520 林业机械 220.5530 林业机械化与电气化 220.5540 木材学
220.5550 木材加工与人造板工艺学(包括家具设计与制造等) 220.5560 木材防腐学 220.5570 林产化学加工学
220.5599 林业工程其他学科
220.60 森林统计学
220.65 林业经济学
220.99 林学其他学科
230 畜牧、兽医科学
230.10 畜牧、兽医科学基础学科
230.1010 家畜生物化学 230.1020 家畜生理学 230.1030 家畜遗传学 230.1040 家畜生态学
230.1050 家畜微生物学 230.1099 畜牧、兽医科学基础学科其他学科
230.20 畜牧学
230.2010 家畜育种学 230.2015 家畜繁殖学 230.2020 动物营养学 230.2025 饲料学
230.2030 家畜饲养管理学 230.2035 特种经济动物饲养学 230.2040 家畜行为学 230.2045 家畜卫生学
230.2050 草原学(包括牧草学、牧草育种学、牧草栽培学、草地生态学、草地保护学等)
230.2055 畜产品贮藏与加工 230.2060 畜牧机械化 230.2065 养禽学 230.2070 养蜂学
230.2075 养蚕学 230.2080 畜牧经济学 230.2099 畜牧学其他学科
230.30 兽医学
230.3010 家畜解剖学 230.3015 家畜组织胚胎学 230.3020 兽医免疫学
230.3025 家畜病理学(亦称兽医病理学) 230.3030 兽医药理学 230.3035 兽医临床学
230.3040 兽医卫生检疫学 230.3045 家畜寄生虫学 230.3050 家畜传染病学 230.3055 家畜病毒学
230.3060 中兽医学 230.3065 兽医器械学 230.3099 兽医学其他学科
230.99 畜牧、兽医科学其他学科
240 水产学
240.10 水产学基础学科
240.1010 水产化学 240.1020 水产地理学 240.1030 水产生物学 240.1040 水域生态学
240.1099 水产学基础学科其他学科
240.15 水产增殖学
240.20 水产养殖学
240.25 水产饲料学
240.30 水产保护学
240.35 捕捞学
240.40 水产品贮藏与加工
240.45 水产工程学
240.50 水产资源学
240.55 水产经济学
240.99 水产学其他学科
310 基础医学
310.11 医学生物化学
310.14 人体解剖学
310.1410 系统解剖学 310.1420 局部解剖学 310.1499 人体解剖学其他学科
310.17 医学细胞生物学
310.21 人体生理学
310.24 人体组织胚胎学
310.27 医学遗传学
310.31 放射医学
310.34 人体免疫学
310.37 医学寄生虫学
310.3710 医学寄生虫免疫学 310.3720 医学昆虫学 310.3730 医学蠕虫学 310.3740 医学原虫学
310.3799 医学寄生虫学其他学科
310.41 医学微生物学(包括医学病毒学等)
310.44 病理学
310.4410 病理生物学 310.4420 病理解剖学 310.4430 病理生理学 310.4440 免疫病理学
310.4450 实验病理学 310.4460 比较病理学 310.4470 系统病理学 310.4480 环境病理学
310.4499 病理学其他学科
310.47 药理学
310.4710 基础药理学 310.4720 临床药理学 310.4730 生化药理学 310.4740 分子药理学
310.4750 免疫药理学 310.4799 药理学其他学科
310.51 医学实验动物学
310.54 医学心理学
310.57 医学统计学
310.61 生物医学工程学
310.6110 生物医学电子学 310.6120 临床工程学 310.6130 康复工程学 310.6140 生物医学测量学
310.6150 人工器官与生物医学材料学 310.6199 生物医学工程学其他学科
310.99 基础医学其他学科
320 临床医学
320.11 临床诊断学
320.1110 症状诊断学 320.1120 物理诊断学 320.1130 机能诊断学
320.1140 医学影象学(包括放射诊断学、同位素诊断学、超声诊断学等) 320.1150 临床放射学 320.1160 实验诊断学
320.1199 临床诊断学其他学科
320.14 保健医学
320.1410 康复医学 320.1420 运动医学(包括力学运动医学等) 320.1430 老年医学
320.1499 保健医学其他学科
320.17 理疗学
320.21 麻醉学
320.2110 麻醉生理学 320.2120 麻醉药理学 320.2130 麻醉应用解剖学 320.2199 麻醉学其他学科
320.24 内科学
320.2410 心血管病学 320.2415 呼吸病学 320.2420 结核病学 320.2425 胃肠病学
320.2430 血液病学 320.2435 肾脏病学 320.2440 内分泌学 320.2445 风湿病学与自体免疫病学
320.2450 变态反应学 320.2455 感染性疾病学 320.2499 内科学其他学科
320.27 外科学
320.2710 普通外科学 320.2715 显微外科学 320.2720 神经外科学 320.2725 颅脑外科学
320.2730 胸外科学 320.2735 心血管外科学 320.2740 泌尿外科学 320.2745 骨外科学
320.2750 烧伤外科学 320.2755 整形外科学 320.2760 器官移植外科学 320.2765 实验外科学
320.2799 外科学其他学科
320.31 妇产科学
320.3110 妇科学 320.3120 产科学 320.3130 围产医学(亦称围生医学) 320.3140 助产学
320.3150 胎儿学 320.3160 妇科产科手术学 320.3199 妇产科学其他学科
320.34 儿科学
320.37 眼科学
320.41 耳鼻咽喉科学
320.44 口腔医学
320.4410 口腔解剖生理学 320.4415 口腔组织学与口腔病理学 320.4420 口腔材料学 320.4425 口腔影象诊断学
320.4430 口腔内科学 320.4435 口腔颌面外科学 320.4440 口腔矫形学 320.4445 口腔正畸学
320.4450 口腔病预防学 320.4499 口腔医学其他学科
320.47 皮肤病学
320.51 性医学
320.54 神经病学
320.57 精神病学(包括精神卫生及行为医学等)
320.61 急诊医学
320.64 核医学
320.67 肿瘤学
320.6710 肿瘤免疫学 320.6720 肿瘤病因学 320.6730 肿瘤病理学 320.6740 肿瘤诊断学
320.6750 肿瘤治疗学 320.6760 肿瘤预防学 320.6770 实验肿瘤学 320.6799 肿瘤学其他学科
320.71 护理学
320.7110 基础护理学 320.7120 专科护理学 320.7130 特殊护理学 320.7140 护理心理学
320.7150 护理伦理学 320.7160 护理管理学 320.7199 护理学其他学科
320.99 临床医学其他学科
330 预防医学与卫生学
330.11 营养学
330.14 毒理学
330.17 消毒学
330.21 流行病学
330.24 传染病学
330.27 媒介生物控制学
330.31 环境医学
330.34 职业病学
330.37 地方病学
330.41 社会医学
330.44 卫生检验学
330.47 食品卫生学
330.51 儿少卫生学
330.54 妇幼卫生学
330.57 环境卫生学
330.61 劳动卫生学
330.64 放射卫生学
330.67 卫生工程学
330.71 卫生经济学
330.74 优生学
330.77 健康教育学
330.81 卫生管理学
330.99 预防医学与卫生学其他学科
340 军事医学与特种医学
340.10 军事医学
340.1010 野战外科学 340.1015 军队流行病学 340.1020 军事环境医学 340.1025 军队卫生学
340.1030 军队卫生装备学 340.1035 军事人机工效学 340.1040 核武器医学防护学 340.1045 化学武器医学防护学
340.1050 生物武器医学防护学 340.1055 激光与微波医学防护学 340.1099 军事医学其他学科
340.20 特种医学
340.2010 航空航天医学 340.2020 潜水医学 340.2030 航海医学 340.2040 法医学
340.2099 特种医学其他学科
340.99 军事医学与特种医学其他学科
350 药学
350.10 药物化学(包括天然药物化学等)
350.20 生物药物学
350.25 微生物药物学
350.30 放射性药物学
350.35 药剂学
350.40 药效学
350.45 药物管理学
350.50 药物统计学
350.99 药学其他学科
360 中医学与中药学
360.10 中医学
360.1011 中医基础理论(包括经络学等) 360.1014 中医诊断学 360.1017 中医内科学
360.1021 中医外科学 360.1024 中医骨伤科学 360.1027 中医妇科学 360.1031 中医儿科学
360.1034 中医眼科学 360.1037 中医耳鼻咽喉科学 360.1041 中医口腔科学 360.1044 中医老年病学
360.1047 针灸学(包括针刺镇痛与麻醉等) 360.1051 按摩推拿学 360.1054 中医养生康复学(包括气功研究等)
360.1057 中医护理学 360.1061 中医食疗学 360.1064 方剂学
360.1067 中医文献学(包括难经、内经、伤寒论、金匮要略、腧穴学等) 360.1099 中医学其他学科
360.20 民族医学
360.30 中西医结合医学
360.40 中药学
360.4010 中药化学 360.4015 中药药理学 360.4020 本草学 360.4025 药用植物学
360.4030 中药鉴定学 360.4035 中药炮制学 360.4040 中药药剂学 360.4045 中药资源学
360.4050 中药管理学 360.4099 中药学其他学科
360.99 中医学与中药学其他学科
410 工程与技术科学基础学科
410.10 工程数学
410.15 工程控制论
410.20 工程力学
410.25 工程物理学
410.30 工程地质学
410.35 工程水文学
410.40 工程仿生学
410.45 工程心理学
410.50 标准化科学技术(亦称标准化学)
410.55 计量学
410.60 工程图学
410.65 勘查技术
410.70 工程通用技术
410.7010 密封技术 410.7020 粉末技术 410.7030 真空技术 410.7040 薄膜技术
410.7050 爆破技术 410.7060 包装技术 410.7070 照相技术 410.7080 物料搬运技术
410.7099 工程通用技术其他学科
410.75 工业工程学(亦称工程系统工程)
410.99 工程与技术科学基础学科其他学科
420 测绘科学技术
420.10 大地测量技术
420.1010 大地测量定位 420.1020 重力测量 420.1030 测量平差 420.1099 大地测量技术其他学科
420.20 摄影测量与遥感技术
420.2010 地物波谱学 420.2020 近景摄影测量 420.2030 航空摄影测量 420.2040 遥感信息工程
420.2099 摄影测量与遥感技术其他学科
420.30 地图制图技术
420.3010 地图投影学 420.3020 地图设计与编绘 420.3030 图形图象复制技术 420.3040 地理信息系统
420.3099 地图制图技术其他学科
420.40 工程测量技术
420.4010 地籍测量 420.4020 精密工程测量 420.4099 工程测量技术其他学科
420.50 海洋测绘
420.5010 海洋大地测量 420.5015 海洋重力测量 420.5020 海洋磁力测量 420.5025 海洋跃层测量
420.5030 海洋声速测量 420.5035 海道测量 420.5040 海底地形测量 420.5045 海图制图
420.5050 海洋工程测量 420.5099 海洋测绘其他学科
420.60 测绘仪器
420.99 测绘科学技术其他学科
430 材料科学
430.10 材料科学基础学科
430.1010 材料力学 430.1020 相图与相变(包括合金化等) 430.1030 材料的组织、结构、缺陷与性能
430.1040 金属学 430.1050 陶瓷学 430.1060 高分子材料学 430.1099 材料科学基础学科其他学科
430.15 材料表面与界面(包括表面优化技术)
430.20 材料失效与保护(包括材料腐蚀、磨损、老化、断裂及其控制等)
430.25 材料检测与分析技术
430.30 材料实验
430.35 材料合成与加工工艺
430.40 金属材料
430.4010 黑色金属及其合金 430.4020 有色金属及其合金 430.4030 非晶、微晶金属材料(包括准晶和纳米晶材料等)
430.4040 低维金属材料(包括薄膜、纤维和零维金属材料等) 430.4050 特种功能金属材料 430.4099 金属材料其他学科
430.45 无机非金属材料
430.4510 玻璃与非晶无机非金属材料 430.4520 低维无机非金属材料(包括薄膜、纤维和零维非金属材料等) 430.4530 人工晶体
430.4540 无机陶瓷材料(包括耐火材料等) 430.4550 特种功能无机非金属材料 430.4599 无机非金属材料其他学科
430.50 有机高分子材料
430.5010 塑料、橡胶和纤维 430.5020 功能高分子材料 430.5030 高性能高分子材料
430.5040 高分子液晶材料 430.5099 有机高分子材料其他学科
430.55 复合材料
430.5510 金属基复合材料(包括多相复合材料等) 430.5520 无机非金属基复合材料(包括无机多相复合材料等)
430.5530 聚合物基复合材料(包括有机多相复合材料等) 430.5599 复合材料其他学科
430.99 材料科学其他学科
440 矿山工程技术
440.10 矿山地质学
440.15 矿山测量
440.20 矿山设计
440.2010 地下矿设计 440.2020 露天矿设计 440.2099 矿山设计其他学科
440.25 矿山地面工程
440.30 井巷工程
440.3010 矿山压力工程 440.3020 矿山支护工程 440.3099 井巷工程其他学科
440.35 采矿工程
440.3510 煤矿开采 440.3520 煤及油母页岩地下气化 440.3530 金属矿开采 440.3540 非金属矿开采
440.3599 采矿工程其他学科
440.40 选矿工程
440.4010 选矿理论 440.4020 选矿技术 440.4030 矿石处理 440.4099 选矿工程其他学科
440.45 钻井工程
440.50 油气田开发工程
440.55 石油、天然气储存与运输工程
440.60 矿山机械工程
440.6010 采矿机械 440.6020 选矿机械 440.6030 矿山运输机械 440.6099 矿山机械工程其他学科
440.65 矿山电气工程
440.70 采矿环境工程
440.75 矿山安全
440.80 矿山综合利用工程
440.99 矿山工程技术其他学科
450 冶金工程技术
450.10 冶金物理化学
450.15 冶金反应工程
450.20 冶金原料与预处理
450.25 冶金热能工程
450.2510 冶金燃料 450.2520 燃烧理论 450.2530 燃烧计算 450.2540 冶金分析
450.2599 冶金热能工程其他学科
450.30 冶金技术
450.3010 提炼冶金 450.3015 粉末冶金 450.3020 真空冶金 450.3025 电磁冶金
450.3030 原子能冶金 450.3035 湿法冶金 450.3040 纤维冶金 450.3045 卤素冶金
450.3050 微生物冶金 450.3099 冶金技术其他学科
450.35 钢铁冶金
450.3510 炼铁 450.3520 炼钢 450.3530 铁合金冶炼 450.3599 钢铁冶金其他学科
450.40 有色金属冶金
450.45 轧制
450.50 冶金机械及自动化
450.99 冶金工程技术其他学科
460 机械工程
460.10 机械史
460.15 机械学
460.1510 机械原理与机构学 460.1520 机械动力学与振动 460.1530 机械强度 460.1540 机械摩擦、磨损及润滑
460.1599 机械学其他学科
460.20 机械设计
460.2010 机械设计原理与方法 460.2020 机械零件及传动 460.2030 机械公差、配合与技术测量 460.2040 机械制图
460.2099 机械设计其他学科
460.25 机械制造工艺与设备
460.2510 铸造工艺与设备 460.2515 焊接工艺与设备(包括连接工艺与设备) 460.2520 塑性加工工艺与设备
460.2525 热处理工艺与设备 460.2530 切削加工工艺 460.2535 特种加工工艺
460.2540 机器装配工艺 460.2545 非金属加工工艺 460.2599 机械制造工艺与设备其他学科
460.30 刀具技术
460.3010 切削理论 460.3020 切削刀具 460.3030 磨削工具 460.3099 刀具技术其他学科
460.35 机床技术
460.3510 机床基础理论 460.3520 金属切削机床 460.3530 数字控制机床 460.3540 特种加工机床
460.3599 机床技术其他学科
460.40 仪器仪表技术
460.4010 仪器仪表基础理论 460.4015 仪器仪表材料 460.4020 传感器技术 460.4025 精密仪器制造
460.4030 测试计量仪器 460.4035 光学技术与仪器 460.4040 天文仪器 460.4045 地球科学仪器
460.4050 大气仪器仪表 460.4099 仪器仪表技术其他学科
460.45 流体传动与控制(包括气动液压控制技术等)
460.50 机械制造自动化
460.5010 成组技术 460.5020 数控技术 460.5030 工业机器人技术 460.5040 计算机辅助制造
460.5099 机械制造自动化其他学科
460.55 专用机械工程
460.5510 印刷、复制技术 460.5599 专用机械工程其他学科
460.99 机械工程其他学科
470 动力与电气工程
470.10 工程热物理
470.1010 工程热力学 470.1020 工程传热、传质学 470.1030 燃烧学 470.1040 多相流动
470.1099 工程热物理其他学科
470.20 热工学
470.2010 热工测量与仪器仪表 470.2020 制冷与低温工程 470.2030 供热工程 470.2040 工业锅炉
470.2099 热工学其他学科
470.30 动力机械工程
470.3010 蒸汽工程(包括锅炉、蒸汽机、汽轮机等) 470.3020 内燃机工程(包括汽油机、柴油机、气体燃料发动机等) 470.3030 流体机械及流体动力工程
470.3040 喷气推进机与涡轮机械 470.3099 动力机械工程其他学科
470.40 电气工程
470.4011 电工学 470.4014 电路理论 470.4017 电气测量技术及其仪器仪表 470.4021 电工材料
470.4024 电机学 470.4027 电器学 470.4031 电力电子技术 470.4034 高电压工程
470.4037 绝缘技术 470.4041 电热与高频技术 470.4044 超导电工技术
470.4047 发电工程(包括水力、热力、风力、磁流体发电工程等) 470.4051 输配电工程 470.4054 电力系统及其自动化
470.4057 电力拖动及其自动化 470.4061 用电技术 470.4064 电加工技术 470.4099 电气工程其他学科
470.99 动力与电气工程其他学科
480 能源科学技术
480.10 能源化学
480.20 能源地理学
480.30 能源计算与测量
480.40 储能技术
480.50 节能技术
480.60 一次能源
480.6010 煤炭能 480.6020 石油、天然气能 480.6030 水能(包括海洋能等) 480.6040 风能
480.6050 地热能 480.6060 生物能 480.6070 太阳能 480.6080 核能
480.6099 一次能源其他学科
480.70 二次能源
480.7010 煤气能 480.7020 电能 480.7030 蒸汽能 480.7040 沼气能
480.7050 激光能 480.7099 二次能源其他学科
480.80 能源系统工程
480.99 能源科学技术其他学科
490 核科学技术
490.10 辐射物理与技术
490.15 核探测技术与核电子学
490.20 放射性计量学
490.25 核仪器、仪表
490.30 核材料与工艺技术
490.3010 核燃料与工艺技术 490.3099 核材料与工艺技术其他学科
490.35 粒子加速器
490.3510 粒子加速器工艺 490.3520 粒子加速器应用 490.3599 粒子加速器其他学科
490.40 裂变堆工程技术
490.4010 裂变堆物理 490.4020 裂变堆热工与水力 490.4030 裂变堆控制 490.4040 裂变堆结构
490.4050 裂变堆屏蔽与防护 490.4060 裂变堆建造技术 490.4099 裂变堆工程技术其他学科
490.45 核聚变工程技术
490.4510 磁约束聚变技术 490.4520 惯性约束聚变技术 490.4530 聚变堆工程 490.4540 聚变裂变混合堆工程
490.4599 核聚变工程技术其他学科
490.50 核动力工程技术
490.5010 舰船核动力 490.5020 空间核动力 490.5030 核电站 490.5040 核动力运行技术
490.5099 核动力工程技术其他学科
490.55 同位素技术
490.5510 同位素分离技术 490.5520 同位素制备技术 490.5530 同位素应用技术 490.5599 同位素技术其他学科
490.60 核爆炸工程
490.65 核安全(包括核电站安全)
490.70 乏燃料后处理技术
490.75 辐射防护技术
490.80 核设施退役技术
490.85 放射性三废处理、处置技术
490.99 核科学技术其他学科
510 电子、通信与自动控制技术
510.10 电子技术
510.1010 电子电路 510.1015 天线电波传播 510.1020 无线电技术 510.1025 微波技术
510.1030 敏感电子学 510.1035 微电子学 510.1040 仿真技术 510.1045 超导电子技术
510.1050 电子元件与器件技术 510.1055 电子束、离子束技术 510.1060 红外与夜视技术 510.1099 电子技术其他学科
510.20 光电子学与激光技术
510.30 半导体技术
510.3010 半导体测试技术 510.3020 半导体材料 510.3030 半导体器件与技术 510.3040 集成电路技术
510.3050 半导体加工技术 510.3099 半导体技术其他学科
510.40 信息处理技术
510.4010 信号检测 510.4020 参数估计 510.4030 数据处理 510.4040 语音处理
510.4050 图象处理 510.4099 信息处理技术其他学科
510.50 通信技术
510.5010 有线通信技术 510.5015 无线通信技术(包括微波通信、卫星通信等) 510.5020 光纤通信技术
510.5025 通信传输技术 510.5030 通信网络技术 510.5035 通信终端技术 510.5040 电信 510.5045 邮政
510.5050 邮电通信管理工程 510.5099 通信技术其他学科
510.60 广播与电视工程技术
510.70 雷达工程
510.80 自动控制技术
510.8010 自动控制理论(包括线性、非线性、随机控制,最优控制、自适应控制系统、分布式控制系统、柔性控制系统等)
510.8020 控制系统仿真技术 510.8030 机电一体化技术 510.8040 自动化仪器仪表与装置 510.8050 机器人控制
510.8060 自动化技术应用 510.8099 自动控制技术其他学科
510.99 电子、通信与自动控制技术其他学科
520 计算机科学技术
520.10 计算机科学技术基础学科
520.1010 自动机理论 520.1020 可计算性理论 520.1030 计算机可靠性理论 520.1040 算法理论
520.1050 数据结构 520.1060 数据安全与计算机安全 520.1099 计算机科学技术基础学科其他学科
520.20 人工智能
520.2010 人工智能理论 520.2020 自然语言处理 520.2030 机器翻译 520.2040 模式识别
520.2050 计算机感知 520.2060 计算机神经网络 520.2070 知识工程(包括专家系统) 520.2099 人工智能其他学科
520.30 计算机系统结构
520.3010 计算机系统设计 520.3020 并行处理 520.3030 分布式处理系统 520.3040 计算机网络
520.3050 计算机运行测试与性能评价 520.3099 计算机系统结构其他学科
520.40 计算机软件
520.4010 软件理论 520.4020 操作系统与操作环境 520.4030 程序设计及其语言 520.4040 编译系统
520.4050 数据库 520.4060 软件开发环境与开发技术 520.4070 软件工程 520.4099 计算机软件其他学科
'520.50 计算机工程
520.5010 计算机元器件 520.5020 计算机处理器技术 520.5030 计算机存储技术 520.5040 计算机外围设备
520.5050 计算机制造与检测 520.5060 计算机高密度组装技术 520.5099 计算机工程其他学科
520.60 计算机应用
520.6010 中国语言文字信息处理(包括汉字信息处理) 520.6020 计算机仿真 520.6030 计算机图形学
520.6040 计算机图象处理 520.6050 计算机辅助设计 520.6060 计算机过程控制
520.6070 计算机信息管理系统 520.6080 计算机决策支持系统 520.6099 计算机应用其他学科
520.99 计算机科学技术其他学科
530 化学工程
530.11 化学工程基础学科
530.1110 化工热力学 530.1120 化工流体力学 530.1130 化工流变学 530.1140 颗粒学
530.1199 化学工程基础学科其他学科
530.14 化工测量技术与仪器仪表
530.17 化工传递过程
530.21 化学分离工程
530.2110 蒸馏 530.2120 吸收 530.2130 萃取 530.2140 吸附与离子交换
530.2150 膜分离 530.2160 蒸发与结晶 530.2170 干燥 530.2199 化学分离工程其他学科
530.24 化学反应工程
530.2410 催化反应工程 530.2420 催化剂工程 530.2430 固定床反应工程 530.2440 多相流反应工程
530.2450 生化反应工程 530.2460 聚合化学反应工程 530.2470 电化学反应工程 530.2499 化学反应工程其他学科
530.27 化工系统工程
530.2710 化工过程动态学 530.2720 化工过程控制与模拟 530.2730 化工系统优化 530.2799 化工系统工程其他学科
530.31 化工机械与设备
530.34 无机化学工程
530.3410 酸碱盐工程技术 530.3420 硅酸盐工程技术 530.3430 放射化工 530.3440 化肥工程技术
530.3450 化学冶金 530.3499 无机化学工程其他学科
530.37 有机化学工程
530.41 电化学工程
530.4110 电解 530.4120 电镀 530.4130 电池 530.4140 腐蚀与防腐化学
530.4199 电化学工程其他学科
530.44 高聚物工程
530.47 煤化学工程
530.51 石油化学工程
530.54 精细化学工程
530.5410 表面活性剂 530.5420 香料学 530.5430 化妆品学 530.5440 染料
530.5450 颜料与涂料学 530.5460 粘合剂(亦称胶粘剂) 530.5499 精细化学工程其他学科
530.57 造纸技术
530.61 毛皮与制革工程
530.64 制药工程
530.6410 医药工程 530.6420 农药工程 530.6430 兽药工程 530.6499 制药工程其他学科
530.67 生物化学工程
530.99 化学工程其他学科
540 纺织科学技术
540.10 纺织科学技术基础学科
540.1010 纺织化学 540.1020 纺织美学与色彩学 540.1099 纺织科学技术基础学科其他学科
540.20 纺织材料
540.30 纤维制造技术
540.40 纺织技术
540.4010 纺织品结构与设计 540.4015 棉纺学 540.4020 棉织学 540.4025 麻纺织
540.4030 毛纺织 540.4035 丝纺织 540.4040 化学纤维纺织 540.4045 新型纺纱、无纺布与特种织物
540.4050 针织 540.4099 纺织技术其他学科
540.50 染整技术
540.5010 染炼技术 540.5020 印花技术 540.5030 染色技术 540.5040 整理技术
540.5099 染整技术其他学科
540.60 服装技术
540.6010 服装设计 540.6020 服装加工 540.6099 服装技术其他学科
540.70 纺织机械与设备
540.7010 纺织器材设计与制造 540.7020 纺织机械设计与制造 540.7099 纺织机械与设备其他学科
540.99 纺织科学技术其他学科
550 食品科学技术
550.10 食品科学技术基础学科
550.1010 食品生物化学 550.1020 食品营养学 550.1030 食品检验学 550.1099 食品科学技术基础学科其他学科
550.20 食品加工技术
550.2010 食用油脂加工技术 550.2015 制糖技术 550.2020 肉加工技术 550.2025 乳加工技术
550.2030 蛋加工技术 550.2035 水果、蔬菜加工技术 550.2040 食品发酵与酿造技术 550.2045 食品焙烤加工技术
550.2050 调味品加工技术(包括食盐加工技术等) 550.2055 食品添加剂技术 550.2060 饮料冷食制造技术 550.2065 罐头技术
550.2099 食品加工技术其他学科
550.30 食品包装与储藏
550.40 食品机械
550.50 食品加工的副产品加工与利用
550.60 食品工业企业管理学
550.99 食品科学技术其他学科
560 土木建筑工程
560.10 建筑史
560.15 土木建筑工程基础学科
560.1510 建筑光学 560.1520 建筑声学 560.1530 建筑气象学 560.1599 土木建筑工程基础学科其他学科
560.20 土木建筑工程测量
560.25 建筑材料
560.2510 金属建筑材料 560.2520 非金属建筑材料 560.2530 复合建筑材料
560.2540 特种建筑材料(包括隔音、防水、防火、绝热、耐震、防蚀、装修材料等) 560.2599 建筑材料其他学科
560.30 工程结构
560.3010 杆件结构 560.3020 薄壳结构 560.3030 悬索与张拉结构 560.3040 实体结构
560.3050 结构设计 560.3099 工程结构其他学科
560.35 土木建筑结构
560.3510 木结构 560.3520 砖结构 560.3530 金属结构 560.3540 混凝土与钢筋混凝土结构
560.3550 喷锚结构 560.3560 复合结构 560.3570 特种结构 560.3599 土木建筑结构其他学科
560.40 土木建筑工程设计
560.4010 建筑设计方法与理论 560.4020 城乡规划方法与理论 560.4030 建筑美学 560.4040 建筑室内设计
560.4050 建筑室外环境设计 560.4060 土木工程设计 560.4099 土木建筑工程设计其他学科
560.45 土木建筑工程施工
560.4510 地基基础工程 560.4520 地面工程 560.4530 地下工程 560.4540 墙体工程
560.4550 土木施工电器工程 560.4560 装饰工程 560.4599 土木建筑工程施工其他学科
560.50 土木工程机械与设备
560.5010 起重机械 560.5020 土木工程运输机械 560.5030 土方机械 560.5040 桩工机械
560.5050 石料开采加工机械 560.5060 钢筋混凝土机械 560.5070 装修机械 560.5099 土木工程机械与设备其他学科
560.55 市政工程
560.5510 城市给水排水工程 560.5520 通风与空调工程 560.5530 供热与供燃气工程 560.5540 电讯管道工程
560.5550 城市系统工程 560.5599 市政工程其他学科
560.60 建筑经济学
560.99 土木建筑工程其他学科
570 水利工程
570.10 水利工程基础学科
570.1010 水力学 570.1020 河流与海岸动力学 570.1099 水利工程基础学科其他学科
570.15 水利工程测量
570.20 水工材料
570.25 水工结构(亦称水工建筑物)
570.2510 一般水工建筑物 570.2520 专门水工建筑物 570.2599 水工结构其他学科
570.30 水力机械
570.35 水利工程施工
570.3510 水利建筑工程施工 570.3520 水工设备安装(包括水工金属结构安装等) 570.3599 水利工程施工其他学科
570.40 水处理(不包括废水处理)
570.4010 给水处理 570.4099 水处理其他学科
570.45 河流泥沙工程学
570.4510 水沙动力学 570.4520 河工学 570.4599 河流泥沙工程学其他学科
570.50 海洋工程
570.5010 海洋工程结构与施工 570.5020 海底矿产开发 570.5030 海水资源利用 570.5040 海洋环境工程
570.5099 海洋工程其他学科
570.55 环境水利
570.5510 环境水利与评价 570.5520 区域环境水利 570.5530 水资源保护 570.5599 环境水利其他学科
570.60 水利管理
570.6010 水利工程管理(包括水利调度、水利施工管理、养护等) 570.6020 水利工程检查观测
570.6030 水利管理自动化系统 570.6099 水利管理其他学科
570.65 防洪工程
570.6510 防洪 570.6520 防汛 570.6530 防凌 570.6599 防洪工程其他学科
570.70 水利经济学
570.99 水利工程其他学科
580 交通运输工程
580.10 道路工程
580.1010 路基工程 580.1020 桥涵工程 580.1030 隧道工程 580.1099 道路工程其他学科
580.20 公路运输
580.2010 车辆工程 580.2020 公路标志、信号、监控工程 580.2030 公路运输管理 580.2099 公路运输其他学科
580.30 铁路运输
580.3010 铁路电气化工程 580.3020 铁路通信信号工程 580.3030 铁路机车车辆工程 580.3040 铁路运输管理
580.3099 铁路运输其他学科
580.40 水路运输
580.4010 航海学 580.4020 导航建筑物与航标工程 580.4030 航道工程 580.4040 港口工程
580.4050 疏浚工程 580.4060 水路运输管理 580.4099 水路运输其他学科
580.50 船舶、舰船工程
580.60 航空运输
580.6010 机场工程 580.6020 航空运输管理 580.6099 航空运输其他学科
580.70 交通运输系统工程
580.80 交通运输安全工程
580.99 交通运输工程其他学科
590 航空、航天科学技术
590.10 航空、航天科学技术基础学科
590.1010 大气层飞行力学 590.1020 航天动力学 590.1030 飞行器结构力学 590.1040 飞行原理
590.1099 航空、航天科学技术基础学科其他学科
590.15 航空器结构与设计
590.1510 气球、飞艇 590.1520 定翼机 590.1530 旋翼机 590.1599 航空器结构与设计其他学科
590.20 航天器结构与设计
590.2010 火箭、导弹 590.2020 人造地球卫星 590.2030 空间探测器 590.2040 宇宙飞船
590.2050 航天站 590.2060 航天飞机 590.2099 航天器结构与设计其他学科
590.25 航空、航天推进系统
590.30 飞行器仪表、设备
590.35 飞行器控制、导航技术
590.40 航空、航天材料
590.4010 航空、航天金属材料 590.4020 航空、航天非金属材料 590.4030 航空、航天复合材料 590.4040 航空、航天燃料与润滑剂
590.4099 航空、航天材料其他学科
590.45 飞行器制造技术
590.4510 航空器制造工艺 590.4520 航天器制造工艺 590.4599 飞行器制造技术其他学科
590.50 飞行器试验技术
590.5010 航空器地面试验 590.5020 航空器飞行试验 590.5030 航天器地面试验 590.5040 航天器飞行试验
590.5099 飞行器试验技术其他学科
590.55 飞行器发射、飞行技术
590.5510 飞行技术 590.5520 飞行器发射、飞行事故 590.5599 飞行器发射、飞行技术其他学科
590.60 航天地面设施、技术保障
590.6010 发射场、试验场 590.6020 航天测控系统 590.6099 航天地面设施、技术保障其他学科
590.65 航空、航天系统工程
590.6510 航空系统工程 590.6520 航天系统工程 590.6530 航空、航天可靠性工程 590.6599 航空、航天系统工程其他学科
590.99 航空、航天科学技术其他学科
610 环境科学技术
610.10 环境科学技术基础学科
610.1010 环境物理学(包括环境声学等) 610.1015 环境化学 610.1020 环境生物学 610.1025 环境气象学
610.1030 环境地学(包括环境地球化学、环境地质学等) 610.1035 环境生态学 610.1040 环境毒理学 610.1045 自然环境保护学
610.1050 环境管理学 610.1099 环境科学技术基础学科其他学科
610.20 环境学
610.2010 大气环境学 610.2020 水体环境学(包括海洋环境学) 610.2030 土壤环境学 610.2040 区域环境学
610.2099 环境学其他学科
610.30 环境工程学
610.3010 环境保护工程 610.3015 大气污染防治工程 610.3020 水污染防治工程 610.3025 固体污染防治工程
610.3030 三废处理与综合利用 610.3035 噪声与震动控制 610.3040 环境质量监测与评价 610.3045 环境规划
610.3050 环境系统工程 610.3099 环境工程学其他学科
610.99 环境科学技术其他学科
620 安全科学技术
620.10 安全科学技术基础学科
620.1010 灾害物理学 620.1020 灾害化学 620.1030 灾害学 620.1040 灾害毒理学
620.1099 安全科学技术基础学科其他学科
620.20 安全学
620.2010 安全系统学 620.2020 安全心理学 620.2030 安全模拟与安全仿真学 620.2040 安全人机学
620.2050 安全经济学 620.2060 安全管理学 620.2070 安全教育学 620.2099 安全学其他学科
620.30 安全工程
620.3010 消防工程 620.3020 爆炸安全工程 620.3030 安全设备工程 620.3040 安全电气工程
620.3050 部门安全工程 620.3099 安全工程其他学科
620.40 职业卫生工程
620.4010 防尘工程 620.4020 防毒工程 620.4030 生产噪声与振动控制 620.4040 个体防护
620.4099 职业卫生工程其他学科
620.50 安全管理工程
620.5010 安全信息工程 620.5020 风险评价与失效分析 620.5030 工业灾害控制 620.5040 安全检测与监控技术
620.5099 安全管理工程其他学科
620.99 安全科学技术其他学科
630 管理学
630.10 管理思想史
630.15 管理理论
630.1510 管理哲学 630.1520 组织理论 630.1530 行为科学 630.1540 决策理论
630.1550 系统管理理论 630.1599 管理理论其他学科
630.20 管理心理学
630.25 管理计量学
630.30 部门经济管理
630.35 科学学与科技管理
630.3510 科学社会学 630.3520 科技政策学 630.3530 科学心理学 630.3540 科学计量学
630.3550 科技管理学 630.3599 科学学与科技管理其他学科
630.40 企业管理
630.4010 生产管理 630.4015 经营管理 630.4020 财务管理 630.4025 成本管理
630.4030 劳动人事管理 630.4035 技术管理 630.4040 营销管理 630.4045 物资管理
630.4050 设备管理 630.4055 质量管理 630.4099 企业管理其他学科
630.45 行政管理
630.50 管理工程
630.5010 生产系统管理 630.5015 研究与开发管理 630.5020 质量控制与可靠性管理 630.5025 物流系统管理
630.5030 战略管理 630.5035 决策分析 630.5040 决策支持系统 630.5045 管理信息系统
630.5050 管理系统仿真 630.5055 工效学 630.5060 部门管理工程 630.5099 管理工程其他学科
630.55 人力资源开发与管理
630.5510 人力资源开发战略 630.5520 人才学 630.5599 人力资源开发与管理其他学科
630.60 未来学
630.6010 理论预测学 630.6020 预测评价学 630.6030 技术评估学 630.6040 全球未来学
630.6099 未来学其他学科
630.99 管理学其他学科
710 马克思主义
710.10 马、恩、列、斯思想研究
710.20 毛泽东思想研究
710.30 马克思主义思想史
710.40 科学社会主义
710.50 社会主义运动史(包括国际共产主义运动)
710.60 国外马克思主义研究
710.99 马克思主义其他学科
720 哲学
720.10 马克思主义哲学
720.1010 辩证唯物主义 720.1020 历史唯物主义 720.1030 马克思主义哲学史 720.1099 马克思主义哲学其他学科
720.15 自然辩证法(亦称科学技术哲学)
720.1510 自然观 720.1520 科学哲学 720.1530 技术哲学
720.1540 专门自然科学哲学(包括人工智能哲学、数学哲学、物理哲学等) 720.1599 自然辩证法其他学科
720.20 中国哲学史
720.2010 先秦哲学 720.2020 秦汉哲学 720.2030 魏晋南北朝哲学 720.2040 隋唐五代哲学
720.2050 宋元明清哲学 720.2060 中国近代哲学 720.2070 中国现代哲学 720.2080 中国少数民族哲学思想
720.2099 中国哲学史其他学科
720.25 东方哲学史
720.2510 印度哲学 720.2520 伊斯兰哲学 720.2530 日本哲学 720.2599 东方哲学史其他学科
720.30 西方哲学史
720.3010 古希腊罗马哲学 720.3020 中世纪哲学 720.3030 文艺复兴时期哲学 720.3040 十七、十八世纪欧洲哲学
720.3050 德国古典哲学 720.3060 俄国哲学(包括俄国革命民主主义者的哲学) 720.3099 西方哲学史其他学科
720.35 现代外国哲学
720.3510 十九世纪末至二十世纪中叶西方哲学 720.3520 分析哲学 720.3530 欧洲大陆人文哲学
720.3540 解释学 720.3550 符号学 720.3560 实用主义哲学 720.3599 现代外国哲学其他学科
720.40 逻辑学
720.4010 逻辑史(包括中国逻辑史、西方逻辑史、印度逻辑史等) 720.4020 形式逻辑(亦称传统逻辑)
720.4030 哲理逻辑(包括模态、多值、构造、时态、模糊逻辑等) 720.4040 语言逻辑 720.4050 归纳逻辑 720.4060 辩证逻辑
720.4099 逻辑学其他学科
720.45 伦理学
720.4510 伦理学原理 720.4515 中国伦理思想史 720.4520 东方伦理思想史 720.4525 西方伦理思想史
720.4530 马克思主义伦理思想史 720.4535 职业伦理学 720.4540 医学伦理学 720.4545 教育伦理学
720.4550 政治伦理学 720.4555 家庭伦理学 720.4560 生命伦理学 720.4565 生态伦理学
720.4599 伦理学其他学科
720.50 美学
720.5010 美学原理 720.5020 中国美学史 720.5030 东方美学史 720.5040 西方美学史
720.5050 西方现代美学 720.5060 马克思主义美学 720.5070 艺术美学(包括音乐、影视美学、建筑美学等)
720.5080 技术美学 720.5099 美学其他学科
720.99 哲学其他学科
730 宗教学
730.11 宗教学理论
730.1110 马克思主义宗教学 730.1115 宗教史学 730.1120 宗教哲学 730.1125 宗教社会学
730.1130 宗教心理学 730.1135 比较宗教学 730.1140 宗教地理学 730.1145 宗教文学艺术
730.1150 宗教文献学 730.1155 神话学 730.1199 宗教学理论其他学科
730.14 无神论
730.1410 无神论史 730.1420 中国无神论 730.1430 外国无神论 730.1499 无神论其他学科
730.17 原始宗教
730.21 古代宗教
730.2110 中国古代宗教 730.2120 外国古代宗教 730.2199 古代宗教其他学科
730.24 佛教
730.2410 佛教哲学 730.2420 佛教因明 730.2430 佛教艺术 730.2440 佛教文献
730.2450 佛教史 730.2499 佛教其他学科
730.27 基督教
730.2710 圣经学 730.2720 基督教哲学 730.2730 基督教伦理学 730.2740 基督教史
730.2750 基督教艺术 730.2799 基督教其他学科
730.31 伊斯兰教
730.3110 伊斯兰教义学 730.3120 伊斯兰教法学 730.3130 伊斯兰教哲学 730.3140 古兰学
730.3150 圣训学 730.3160 伊斯兰教史 730.3170 伊斯兰教艺术 730.3199 伊斯兰教其他学科
730.34 道教
730.3410 道教哲学 730.3420 道教文献 730.3430 道教艺术 730.3440 道教史
730.3499 道教其他学科
730.37 印度教
730.41 犹太教
730.44 祆教
730.47 摩尼教
730.51 锡克教
730.54 耆那教
730.57 神道教
730.61 中国民间宗教与民间信仰
730.64 中国少数民族宗教
730.67 当代宗教
730.6710 中国当代宗教 730.6720 世界当代宗教 730.6730 新兴宗教 730.6799 当代宗教其他学科
730.99 宗教学其他学科
740 语言学
740.10 普通语言学
740.1010 语音学 740.1015 语法学 740.1020 语义学 740.1025 词汇学
740.1030 语用学 740.1035 方言学 740.1040 修辞学 740.1045 文字学
740.1050 语源学 740.1099 普通语言学其他学科
740.15 比较语言学
740.1510 历史比较语言学 740.1520 类型比较语言学 740.1530 双语对比语言学 740.1599 比较语言学其他学科
740.20 语言地理学
740.25 社会语言学
740.30 心理语言学
740.35 应用语言学
740.3510 语言教学 740.3520 话语语言学 740.3530 实验语音学 740.3540 数理语言学
740.3550 计算语言学 740.3560 翻译学 740.3599 应用语言学其他学科
740.40 汉语研究
740.4010 普通话 740.4015 汉语方言 740.4020 汉语语音 740.4025 汉语音韵
740.4030 汉语语法 740.4035 汉语词汇 740.4040 汉语训诂 740.4045 汉语修辞
740.4050 汉字规范 740.4055 汉语史 740.4099 汉语研究其他学科
740.45 中国少数民族语言文字
740.4510 蒙古语文 740.4515 藏语文 740.4520 维吾尔语文 740.4525 哈萨克语文
740.4530 满语文 740.4535 朝鲜语文 740.4540 傣族语文 740.4545 彝族语文
740.4550 壮语文 740.4555 苗语文 740.4560 瑶语文 740.4565 柯尔克孜语文
740.4570 锡伯语文 740.4599 中国少数民族语言文字其他学科
740.50 外国语言
740.5011 英语 740.5014 德语 740.5017 瑞典语 740.5021 意大利语
740.5024 法语 740.5027 西班牙语、葡萄牙语 740.5031 罗马尼亚语 740.5034 俄语
740.5037 波兰语、捷克语 740.5041 塞尔维亚语、保加利亚语 740.5044 希腊语 740.5047 阿尔巴尼亚语
740.5051 匈牙利语 740.5054 梵语、印地语、乌尔都语、僧伽罗语 740.5057 波斯语
740.5061 土耳其语 740.5064 阿拉伯语 740.5067 希伯莱语 740.5071 豪萨语
740.5074 斯瓦希里语 740.5077 越南语、柬埔寨语 740.5081 印度尼西亚语、菲律宾国语、马来语
740.5084 缅甸语 740.5087 泰语、老挝语 740.5091 日语 740.5094 世界语
740.5099 外国语言其他学科
740.99 语言学其他学科
750 文学
750.11 文学理论
750.14 文艺美学
750.17 文学批评
750.21 比较文学
750.24 中国古代文学史
750.2410 周秦汉文学 750.2415 魏晋文学 750.2420 南北朝文学 750.2425 隋唐五代文学
750.2430 宋代文学 750.2435 辽金文学 750.2440 元代文学 750.2445 明代文学
750.2450 清代文学 750.2499 中国古代文学史其他学科
750.27 中国近代文学史
750.31 中国现代文学史(包括当代文学史)
750.34 中国各体文学
750.3410 中国诗歌文学 750.3420 中国戏剧文学 750.3430 中国小说文学 750.3440 中国散文文学
750.3499 中国各体文学其他学科
750.37 中国民间文学
750.41 中国儿童文学
750.44 中国少数民族文学
750.4410 蒙古族文学 750.4420 藏族文学 750.4430 维吾尔族文学 750.4440 哈萨克族文学
750.4450 朝鲜族文学 750.4499 中国少数民族文学其他学科
750.47 世界文学史
750.4710 古代世界文学史 750.4720 中世纪世界文学史 750.4730 近代世界文学史
750.4740 现代世界文学史(包括当代世界文学史) 750.4799 世界文学史其他学科
750.51 东方文学
750.5110 印度文学 750.5120 日本文学 750.5199 东方文学其他学科
750.54 俄国文学(包括原苏联文学)
750.57 英国文学
750.61 法国文学
750.64 德国文学
750.67 意大利文学
750.71 美国文学
750.74 北欧文学
750.77 东欧文学
750.81 拉美文学
750.84 非洲文学
750.87 大洋洲文学
750.99 文学其他学科
760 艺术学
760.10 艺术心理学
760.15 音乐
760.1510 音乐学(包括音乐史、音乐美学等) 760.1520 作曲与作曲理论 760.1530 音乐表演艺术 760.1599 音乐其他学科
760.20 戏剧
760.2010 戏剧史 760.2020 戏剧理论 760.2099 戏剧其他学科
760.25 戏曲
760.2510 戏曲史 760.2520 戏曲理论 760.2530 戏曲表演 760.2599 戏曲其他学科
760.30 舞蹈
760.3010 舞蹈史 760.3020 舞蹈理论 760.3030 舞蹈编导 760.3040 舞蹈表演
760.3099 舞蹈其他学科
760.35 电影
760.3510 电影史 760.3520 电影理论 760.3530 电影艺术 760.3599 电影其他学科
760.40 广播电视文艺
760.45 美术
760.4510 美术史 760.4520 美术理论 760.4530 绘画艺术 760.4540 雕塑艺术
760.4599 美术其他学科
760.50 工艺美术
760.5010 工艺美术史 760.5020 工艺美术理论 760.5030 环境艺术 760.5099 工艺美术其他学科
760.55 书法
760.5510 书法史 760.5520 书法理论 760.5599 书法其他学科
760.60 摄影
760.6010 摄影史 760.6020 摄影理论 760.6099 摄影其他学科
760.99 艺术学其他学科
770 历史学
770.10 史学史
770.15 史学理论
770.20 历史文献学
770.25 中国通史
770.30 中国古代史
770.3010 先秦史 770.3015 秦汉史 770.3020 魏晋南北朝史 770.3025 隋唐五代十国史
770.3030 宋史 770.3035 辽金史 770.3040 元史 770.3045 明史
770.3050 清史 770.3055 中国古文字(包括甲骨文、金文等) 770.3060 中国古代契约文书(包括敦煌学、明清契约文书研究、鱼鳞册研究等)
770.3099 中国古代史其他学科
770.35 中国近代史、现代史
770.3510 鸦片战争史 770.3515 太平天国史 770.3520 洋务运动史 770.3525 戊戌政变史
770.3530 义和团运动史 770.3535 辛亥革命史 770.3540 五四运动史 770.3545 新民主主义革命史
770.3550 中国共产党史 770.3555 中国国民党史 770.3560 中国民主党派史 770.3565 中华民国史
770.3570 中华人民共和国史 770.3599 中国近代史、现代史其他学科
770.40 世界通史
770.4010 原始社会史 770.4020 世界古代史 770.4030 世界中世纪史 770.4040 世界近代史
770.4050 世界现代史 770.4099 世界通史其他学科
770.45 亚洲史
770.4510 日本史 770.4520 印度史 770.4530 东南亚史 770.4540 南亚史
770.4550 中亚史 770.4560 西亚史 770.4599 亚洲史其他学科
770.50 非洲史
770.5010 北非史 770.5020 撒哈拉以南非洲史 770.5030 埃及史 770.5040 南非联邦史
770.5099 非洲史其他学科
770.55 美洲史
770.5510 美洲古代文明史 770.5520 美国史 770.5530 加拿大史 770.5540 拉丁美洲史
770.5599 美洲史其他学科
770.60 欧洲史
770.6010 俄国史(包括原苏联史) 770.6020 英国史 770.6030 法国史 770.6040 德国史
770.6050 意大利史 770.6060 西班牙史 770.6070 东欧国家史 770.6080 北欧国家史
770.6099 欧洲史其他学科
770.65 澳洲、大洋洲史
770.70 专门史
770.7010 政治史 770.7015 思想史 770.7020 文化史 770.7025 科技史
770.7030 社会史 770.7035 城市史 770.7040 中外文化交流史 770.7045 历史地理学
770.7050 方志学 770.7055 人物研究 770.7060 谱牒学 770.7099 专门史其他学科
770.99 历史学其他学科
780 考古学
780.10 考古理论
780.20 考古学史
780.30 考古技术
780.3010 考古发掘 780.3020 考古修复 780.3030 考古年代测定 780.3099 考古技术其他学科
780.40 中国考古
780.4010 旧石器时代考古 780.4020 新石器时代考古 780.4030 商周考古 780.4040 秦汉考古
780.4050 三国两晋、南北朝、隋唐考古 780.4060 宋元明考古 780.4099 中国考古其他学科
780.50 外国考古
780.5010 亚洲考古 780.5020 欧洲考古 780.5030 非洲考古 780.5040 美洲考古
780.5050 大洋洲考古 780.5099 外国考古其他学科
780.60 专门考古
780.6010 金石学 780.6020 铭刻学 780.6030 甲骨学 780.6040 古钱学
780.6050 美术考古 780.6060 宗教考古 780.6070 水下考古 780.6099 专门考古其他学科
780.99 考古学其他学科
790 经济学
790.11 政治经济学
790.1110 资本主义政治经济学 790.1120 社会主义政治经济学 790.1199 政治经济学其他学科
790.13 宏观经济学
790.15 微观经济学
790.17 比较经济学
790.19 经济地理学(包括工业地理学、农业地理学等)
790.21 发展经济学
790.23 生产力经济学
790.25 经济思想史
790.2510 中国经济思想史 790.2520 外国经济思想史 790.2530 马克思主义经济思想史 790.2599 经济思想史其他学科
790.27 经济史
790.2710 世界经济史 790.2720 中国经济史 790.2799 经济史其他学科
790.29 世界经济学(亦称国际经济学)
790.2911 国际经济关系 790.2914 国际贸易学(包括国际市场营销学、国际商品学) 790.2917 国际货币经济学
790.2921 国际金融学 790.2924 国际投资学 790.2927 国际收支理论 790.2931 美国经济
790.2934 日本经济 790.2937 德国经济 790.2941 法国经济 790.2944 英国经济
790.2947 俄罗斯经济 790.2951 欧洲经济 790.2954 北美经济 790.2957 亚太经济
790.2961 拉美经济 790.2964 非洲经济 790.2967 中亚、西亚经济 790.2971 世界经济统计
790.2999 世界经济学其他学科
790.31 国民经济学
790.3110 国民经济计划学 790.3120 区域经济学 790.3130 消费经济学 790.3140 投资经济学
790.3199 国民经济学其他学科
790.33 管理经济学
790.35 数量经济学
790.3510 数理经济学 790.3520 经济计量学 790.3599 数量经济学其他学科
790.37 会计学
790.3710 工业会计学 790.3720 农业会计学 790.3730 商业会计学 790.3740 银行会计学
790.3750 交通运输会计学 790.3799 会计学其他学科
790.39 审计学
790.41 技术经济学
790.4110 工程经济学 790.4115 工业技术经济学 790.4120 农业技术经济学 790.4125 能源技术经济学
790.4130 交通运输技术经济学 790.4135 建筑技术经济学 790.4140 商业与物流技术经济学 790.4145 技术进步经济学
790.4150 资源开发利用技术经济学 790.4155 环境保护技术经济学 790.4160 生产力布局技术经济学 790.4165 消费技术经济学
790.4199 技术经济学其他学科
790.43 生态经济学
790.4310 森林生态经济学 790.4320 草原生态经济学 790.4330 水域生态经济学 790.4340 城市生态经济学
790.4350 区域生态经济学 790.4399 生态经济学其他学科
790.45 劳动经济学
790.4510 就业经济学(包括劳动市场经济学) 790.4520 劳动管理学 790.4530 劳动统计学 790.4540 劳动社会学
790.4550 劳动心理学 790.4560 劳动经济史 790.4599 劳动经济学其他学科
790.47 城市经济学
790.4710 城市经济管理学 790.4720 城市土地经济学 790.4730 市政经济学 790.4740 住宅经济学
790.4750 城郊经济学 790.4799 城市经济学其他学科
790.49 资源经济学
790.4910 海洋资源经济学 790.4920 生物资源经济学 790.4930 矿产资源经济学 790.4940 能源经济学
790.4950 资源开发与利用 790.4999 资源经济学其他学科
790.51 环境经济学
790.53 物资经济学
790.5310 物资经济理论 790.5320 物资管理学 790.5399 物资经济学其他学科
790.55 工业经济学
790.5510 工业发展经济学 790.5520 工业企业经营管理学 790.5530 工业经济地理 790.5540 工业部门经济学
790.5550 工业经济史 790.5599 工业经济学其他学科
790.57 农村经济学
790.5710 农村宏观经济学 790.5720 农村产业经济学 790.5730 农村区域经济学 790.5799 农村经济学其他学科
790.59 农业经济学
790.5910 农业生态经济学 790.5920 农业生产经济学 790.5930 土地经济学(包括国土经济学、农业资源经济学等)
790.5940 农业经济史 790.5950 农业企业经营管理 790.5960 合作经济
790.5970 世界农业经济 790.5980 种植业经济学 790.5999 农业经济学其他学科
790.61 交通运输经济学
790.6110 城市运输经济学 790.6120 铁路运输经济学 790.6130 航空运输经济学 790.6140 公路运输经济学
790.6150 水路运输经济学 790.6160 综合运输经济学 790.6199 交通运输经济学其他学科
790.63 商业经济学
790.6310 商业经济学原理 790.6315 商业企业管理学 790.6320 商品流通经济学 790.6325 市场学
790.6330 商业心理学 790.6335 商业社会学 790.6340 商品学(包括商品包装与技术) 790.6345 商业物流学
790.6350 商业经济史 790.6355 广告学 790.6360 服务经济学 790.6399 商业经济学其他学科
790.65 价格学
790.6510 价格学原理 790.6520 部门价格学 790.6530 广义价格学 790.6540 成本管理学
790.6550 价格史 790.6560 比较价格学 790.6599 价格学其他学科
790.67 旅游经济学
790.6710 旅游经济学理论 790.6720 旅游经济管理学 790.6730 旅游企业管理学 790.6740 旅游事业史
790.6799 旅游经济学其他学科
790.69 信息经济学
790.71 财政学
790.7110 理论财政学 790.7120 资本主义财政学 790.7130 社会主义财政学 790.7140 比较财政学
790.7150 财政思想史 790.7160 财政史 790.7170 财政管理学 790.7180 税务管理学
790.7199 财政学其他学科
790.73 货币银行学
790.7310 货币理论 790.7315 货币学说史 790.7320 银行学 790.7325 银行经营管理学
790.7330 信贷理论 790.7335 投资理论 790.7340 金融市场 790.7345 农村金融学
790.7350 金融史、银行史 790.7399 货币银行学其他学科
790.75 保险学
790.7510 保险管理 790.7599 保险学其他学科
790.77 国防经济学
790.99 经济学其他学科
810 政治学
810.10 政治学理论
810.1010 比较政治学 810.1020 政治社会学 810.1030 政治心理学 810.1040 地缘政治学
810.1050 中外政治学说史 810.1099 政治学理论其他学科
810.20 政治制度
810.2010 政治制度理论 810.2015 议会制度 810.2020 行政制度 810.2025 司法制度
810.2030 政党制度 810.2035 选举制度 810.2040 中国政治制度 810.2045 外国政治制度
810.2050 比较政治制度 810.2055 中国政治制度史 810.2060 外国政治制度史 810.2099 政治制度其他学科
810.30 行政学
810.3010 行政理论 810.3020 行政组织 810.3030 人事行政 810.3040 财务行政
810.3050 行政决策 810.3099 行政学其他学科
810.40 国际政治学
810.4011 国际关系理论 810.4014 国际关系史 810.4017 国际组织 810.4021 外交学
810.4024 外交史 810.4027 国际比较政治 810.4031 美国政治 810.4034 英国政治
810.4037 法国政治 810.4041 德国政治 810.4044 日本政治 810.4047 俄罗斯政治
810.4051 欧洲政治 810.4054 北美政治 810.4057 亚太政治 810.4061 拉美政治
810.4064 非洲政治 810.4067 中亚、西亚政治 810.4099 国际政治学其他学科
810.99 政治学其他学科
820 法学
820.10 理论法学
820.1010 法理学 820.1020 法哲学 820.1030 比较法学 820.1040 法社会学
820.1050 立法学 820.1060 法律逻辑学 820.1070 法律教育学 820.1080 法律心理学(包括犯罪心理学)
820.1099 理论法学其他学科
820.20 法律史学
820.2010 中国法律思想史 820.2020 外国法律思想史 820.2030 法律制度史 820.2099 法律史学其他学科
820.30 部门法学
820.3010 宪法学 820.3015 行政法学 820.3020 民法学 820.3025 经济法学
820.3030 劳动法学 820.3035 婚姻法学 820.3040 民事诉讼法学 820.3045 行政诉讼法学
820.3050 刑事诉讼法学 820.3055 刑法学 820.3060 刑事侦查学 820.3065 司法鉴定学
820.3070 军事法学 820.3075 环境法学 820.3080 安全法学 820.3085 知识产权法学
820.3099 部门法学其他学科
820.40 国际法学
820.4010 国际公法学 820.4020 国际私法学 820.4030 国际刑法学 820.4040 国际经济法学
820.4050 国际环境法学 820.4060 国际知识产权法学 820.4099 国际法学其他学科
820.99 法学其他学科
830 军事学
830.10 军事理论
830.1010 马、恩、列、斯军事理论 830.1020 毛泽东军事思想 830.1099 军事理论其他学科
830.15 军事史
830.1510 中国古代战争史 830.1520 中国近代战争史 830.1530 中国现代战争史 830.1540 世界战争史
830.1550 军事思想史 830.1560 军事技术史 830.1599 军事史其他学科
830.20 军事心理学
830.25 战略学
830.2510 战略学理论 830.2520 核战略学 830.2599 战略学其他学科
830.30 战役学
830.3010 合同战役学 830.3020 海军战役学 830.3030 空军战役学 830.3040 导弹部队战役学
830.3050 陆军战役学(包括炮兵战役学、装甲兵战役学) 830.3099 战役学其他学科
830.35 战术学
830.3510 合同战术学 830.3520 陆军战术学(包括炮兵战术学、装甲兵战术学、工程兵战术学、通信兵战术学、防化兵战术学等)
830.3530 海军战术学 830.3540 空军战术学 830.3550 导弹部队战术学 830.3599 战术学其他学科
830.40 军队指挥学
830.4010 作战指挥 830.4020 军事系统工程(亦称军事运筹学) 830.4030 军事通信学
830.4040 军事情报学 830.4050 密码学 830.4099 军队指挥学其他学科
830.45 军制学
830.4510 军事组织体制 830.4520 军事装备学 830.4530 军队管理学 830.4599 军制学其他学科
830.50 军队政治工作学
830.5010 军队思想教育工作学 830.5020 军队组织工作学 830.5099 军队政治工作学其他学科
830.55 军事后勤学
830.5510 后勤组织指挥 830.5520 后方专业勤务 830.5599 军事后勤学其他学科
830.60 军事地学
830.6010 中国军事地理 830.6020 世界军事地理 830.6030 军事地形学 830.6040 军事测绘学
830.6050 军事气象学 830.6060 军事水文学 830.6099 军事地学其他学科
830.65 军事技术
830.99 军事学其他学科
840 社会学
840.11 社会学史
840.1110 中国社会学史 840.1120 外国社会学史 840.1199 社会学史其他学科
840.14 社会学理论
840.1410 社会学原理 840.1420 社会思想史 840.1499 社会学理论其他学科
840.17 社会学方法
840.1710 社会调查方法 840.1799 社会学方法其他学科
840.21 实验社会学
840.24 数理社会学
840.27 应用社会学
840.2711 职业社会学 840.2714 工业社会学 840.2717 医学社会学 840.2727 城市社会学
840.2731 农村社会学 840.2734 环境社会学 840.2737 家庭社会学 840.2741 青年社会学
840.2744 老年社会学 840.2747 犯罪社会学 840.2751 越轨社会学 840.2754 妇女问题研究
840.2757 种族问题研究 840.2761 社会问题研究 840.2764 社会群体及分层问题研究 840.2767 社区研究
840.2771 社会保障研究 840.2774 社会工作 840.2799 应用社会学其他学科
840.31 比较社会学
840.34 社会地理学
840.37 文化社会学
840.3710 艺术社会学 840.3720 知识社会学 840.3730 道德社会学 840.3799 文化社会学其他学科
840.41 历史社会学
840.44 经济社会学
840.47 军事社会学
840.51 社会心理学
840.5110 社会心理学史 840.5120 社会心理学理论与研究方法 840.5130 实验社会心理学 840.5199 社会心理学其他学科
840.54 公共关系学
840.57 社会人类学
840.61 组织社会学
840.64 发展社会学
840.67 福利社会学
840.71 人口学
840.7110 人口学原理 840.7115 人口经济学 840.7120 人口社会学(包括老年人口学、妇女人口学、发展人口学等)
840.7125 人口学说史 840.7130 人口史 840.7135 人口地理学 840.7140 人口生态学
840.7145 区域人口学 840.7150 人口系统工程 840.7155 人口预测学 840.7160 人口规划学
840.7165 人口政策学 840.7170 计划生育学 840.7199 人口学其他学科
840.99 社会学其他学科
850 民族学
850.10 民族问题理论
850.1010 民族问题与民族政策 850.1020 民族关系 850.1030 民族经济 850.1040 民族教育
850.1050 民族法制 850.1060 民族心理学 850.1070 少数民族政治制度 850.1099 民族问题理论其他学科
850.20 民族史学
850.2010 民族史 850.2020 民族关系史 850.2099 民族史学其他学科
850.30 蒙古学
850.40 藏学
850.50 文化人类学与民俗学
850.60 世界民族研究
850.99 民族学其他学科
860 新闻学与传播学
860.10 新闻理论
860.1010 新闻学 860.1015 马克思主义新闻理论 860.1020 西方新闻理论 860.1025 新闻法
860.1030 舆论学 860.1035 新闻伦理学 860.1040 新闻社会学 860.1045 新闻心理学
860.1050 比较新闻学 860.1099 新闻理论其他学科
860.20 新闻史
860.2010 中国新闻事业史 860.2020 世界新闻事业史 860.2030 新闻思想史 860.2099 新闻史其他学科
860.30 新闻业务
860.3010 新闻采访 860.3020 新闻写作 860.3030 新闻编辑 860.3040 新闻评论
860.3050 新闻摄影 860.3099 新闻业务其他学科
860.40 新闻事业经营管理
860.50 广播与电视
860.5010 广播电视史 860.5020 广播电视理论 860.5030 广播电视业务(包括广播电视采访、写作、编辑等)
860.5040 广播电视播音 860.5099 广播与电视其他学科
860.60 传播学
860.6010 传播史 860.6020 传播理论 860.6030 传播技术 860.6040 组织传播学
860.6099 传播学其他学科
860.99 新闻学与传播学其他学科
870 图书馆、情报与文献学
870.10 图书馆学
870.1010 图书馆学史(包括图书馆事业史) 870.1015 比较图书馆学 870.1020 图书馆社会学
870.1025 图书馆管理学(包括图书馆统计学、图书馆经济学等) 870.1030 图书馆建筑学 870.1035 图书采访学 870.1040 图书分类学
870.1045 图书编目学(包括目录组织法、文献著录方法、计算机编目等) 870.1050 目录学(包括普通目录学、专科目录、目录学史等)
870.1055 图书馆服务学(包括读者心理学、读者咨询学等) 870.1099 图书馆学其他学科
870.20 文献学
870.2010 文献类型学 870.2020 文献计量学 870.2030 文献检索学 870.2040 图书史
870.2050 版本学 870.2060 校勘学 870.2099 文献学其他学科
870.30 情报学
870.3010 情报学史(包括情报事业史) 870.3015 情报社会学 870.3020 比较情报学 870.3025 情报计量学
870.3030 情报心理学 870.3035 情报管理学 870.3040 情报服务学(包括情报用户研究等) 870.3045 情报经济学
870.3050 情报检索学(包括情报检索语言等) 870.3055 情报系统理论(包括情报系统分析与设计、情报网络建设理论等)
870.3060 情报技术 870.3065 科学技术情报学 870.3070 社会科学情报学 870.3099 情报学其他学科
870.40 档案学
870.4010 档案学史(包括档案事业史) 870.4020 档案管理学 870.4030 档案保护技术学 870.4040 档案编纂学
870.4099 档案学其他学科
870.50 博物馆学
870.99 图书馆、情报与文献学其他学科
880 教育学
880.11 教育史(包括中国教育史、外国教育史等)
880.14 教育学原理
880.17 教学论
880.21 德育原理
880.24 教育社会学
880.27 教育心理学
880.31 教育经济学
880.34 教育管理学
880.37 比较教育学
880.41 教育技术学
880.44 军事教育学
880.47 学前教育学
880.51 普通教育学(包括初等教育学、中等教育学等)
880.54 高等教育学
880.57 成人教育学
880.61 职业技术教育学
880.64 特殊教育学
880.99 教育学其他学科
890 体育科学
890.10 体育史
890.15 体育理论
890.20 运动生物力学(包括运动解剖学等)
890.25 运动生理学
890.30 运动心理学
890.35 运动生物化学
890.40 体育保健学
890.45 运动训练学
890.50 体育教育学
890.55 武术理论与方法
890.60 体育管理学
890.65 体育经济学
890.99 体育科学其他学科
910 统计学
910.10 统计学史
910.15 理论统计学
910.1510 统计调查分析理沦 910.1520 统计核算理论 910.1530 统计监督理论 910.1540 统计预测理论
910.1550 统计逻缉学 910.1599 理论统计学其他学科
910.20 统计法学
910.25 描述统计学
910.30 经济统计学
910.3010 宏观经济统计学 910.3020 微观经济统计学 910.3099 经济统计学其他学科
910.35 科学技术统计学
910.40 社会统计学
910.4010 教育统计学 910.4020 文化与体育统计学 910.4030 卫生统计学 910.4040 司法统计学
910.4050 社会福利与社会保障统计学 910.4060 生活质量统计学 910.4099 社会统计学其他学科
910.45 人口统计学
910.50 环境与生态统计学
910.5010 自然资源统计学 910.5020 环境统计学 910.5030 生态平衡统计学 910.5099 环境与生态统计学其他学科
910.55 国际统计学
910.5510 国际标准分类统计学 910.5520 国际核算体系与方法论体系 910.5530 国际比较统计学 910.5599 国际统计学其他学科
910.99 统计学其他学科
!装饰器
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。
```bash
>>> def now():
... print('2015-3-25')
...
>>> f = now
>>> f()
2015-3-25
```
函数对象有一个`__name__`属性,可以拿到函数的名字:
```bash
>>> now.__name__
'now'
>>> f.__name__
'now'
```
现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。
本质上,decorator就是一个返回函数的高阶函数。所以,我们要定义一个能打印日志的decorator,可以定义如下:
```bash
def log(func):
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
```
观察上面的log,因为它是一个decorator,所以接受一个函数作为参数,并返回一个函数。我们要借助Python的@语法,把decorator置于函数的定义处:
```bash
@log
def now():
print('2015-3-25')
```
调用now()函数,不仅会运行now()函数本身,还会在运行now()函数前打印一行日志:
```bash
>>> now()
call now():
2015-3-25
```
把@log放到now()函数的定义处,相当于执行了语句:
```bash
now = log(now)
```
由于log()是一个decorator,返回一个函数,所以,原来的now()函数仍然存在,只是现在同名的now变量指向了新的函数,于是调用now()将执行新函数,即在log()函数中返回的wrapper()函数。
wrapper()函数的参数定义是(*args, **kw),因此,wrapper()函数可以接受任意参数的调用。在wrapper()函数内,首先打印日志,再紧接着调用原始函数。
如果decorator本身需要传入参数,那就需要编写一个返回decorator的高阶函数,写出来会更复杂。比如,要自定义log的文本:
```bash
def log(text):
def decorator(func):
def wrapper(*args, **kw):
print('%s %s():' % (text, func.__name__))
return func(*args, **kw)
return wrapper
return decorator
```
这个3层嵌套的decorator用法如下:
```bash
@log('execute')
def now():
print('2015-3-25')
```
执行结果如下:
```bash
>>> now()
execute now():
2015-3-25
```
和两层嵌套的decorator相比,3层嵌套的效果是这样的:
```bash
>>> now = log('execute')(now)
```
我们来剖析上面的语句,首先执行log('execute'),返回的是decorator函数,再调用返回的函数,参数是now函数,返回值最终是wrapper函数。
以上两种decorator的定义都没有问题,但还差最后一步。因为我们讲了函数也是对象,它有`__name__`等属性,但你去看经过decorator装饰之后的函数,它们的`__name__`已经从原来的'now'变成了'wrapper':
```bash
>>> now.__name__
'wrapper'
```
因为返回的那个wrapper()函数名字就是'wrapper',所以,需要把原始函数的__name__等属性复制到wrapper()函数中,否则,有些依赖函数签名的代码执行就会出错。
不需要编写`wrapper.__name__ = func.__name__`这样的代码,Python内置的functools.wraps就是干这个事的,所以,一个完整的decorator的写法如下:
```bash
import functools
def log(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
```
或者针对带参数的decorator:
```bash
import functools
def log(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('%s %s():' % (text, func.__name__))
return func(*args, **kw)
return wrapper
return decorator
```
import functools是导入functools模块。模块的概念稍候讲解。现在,只需记住在定义wrapper()的前面加上@functools.wraps(func)即可。
!!练习
请设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间:
```bash
# -*- coding: utf-8 -*-
import time, functools
def metric(fn):
print('%s executed in %s ms' % (fn.__name__, 10.24))
return fn
# 测试
@metric
def fast(x, y):
time.sleep(0.0012)
return x + y;
@metric
def slow(x, y, z):
time.sleep(0.1234)
return x * y * z;
f = fast(11, 22)
s = slow(11, 22, 33)
if f != 33:
print('测试失败!')
elif s != 7986:
print('测试失败!')
```
!!小结
在面向对象(OOP)的设计模式中,decorator被称为装饰模式。OOP的装饰模式需要通过继承和组合来实现,而Python除了能支持OOP的decorator外,直接从语法层次支持decorator。Python的decorator可以用函数实现,也可以用类实现。
decorator可以增强函数的功能,定义起来虽然有点复杂,但使用起来非常灵活和方便。
请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call'的日志。
再思考一下能否写出一个@log的decorator,使它既支持:
```bash
@log
def f():
pass
```
又支持:
```bash
@log('execute')
def f():
pass
```
!!参考源码
[[decorator.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/decorator.py]]
!!字符编码
我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。
由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。
但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。
[img[python14.png]]
因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。
字母A用ASCII编码是十进制的65,二进制的01000001;
字符0用ASCII编码是十进制的48,二进制的00110000,注意字符'0'和整数0是不同的;
汉字中已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。
你可以猜测,如果把ASCII编码的A用Unicode编码,只需要在前面补0就可以,因此,A的Unicode编码是00000000 01000001。
新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间:
|字符 |ASCII |Unicode |UTF-8|
|A |01000001 |00000000 01000001 |01000001|
|中 |x |01001110 00101101 |11100100 10111000 10101101|
从上面的表格还可以发现,UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
搞清楚了ASCII、Unicode和UTF-8的关系,我们就可以总结一下现在计算机系统通用的字符编码工作方式:
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
[img[python15.png]]
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
[img[python16.png]]
所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码。
!!Python的字符串
搞清楚了令人头疼的字符编码问题后,我们再来研究Python的字符串。
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言,例如:
```bash
>>> print('包含中文的str')
包含中文的str
```
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
```bash
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
```
如果知道字符的整数编码,还可以用十六进制这么写str:
```bash
>>> '\u4e2d\u6587'
'中文'
```
两种写法完全是等价的。
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
```
x = b'ABC'
```
要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。
以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
```bash
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
```
纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
在bytes中,无法显示为ASCII字符的字节,用\x##显示。
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
```bash
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
```
如果bytes中包含无法解码的字节,decode()方法会报错:
```bash
>>> b'\xe4\xb8\xad\xff'.decode('utf-8')
Traceback (most recent call last):
...
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
```
如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
```bash
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'
```
要计算str包含多少个字符,可以用len()函数:
```bash
>>> len('ABC')
3
>>> len('中文')
2
```
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:
```bash
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
```
可见,1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
```bash
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
```
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:
[img[python17.png]]
如果.py文件本身使用UTF-8编码,并且也申明了`# -*- coding: utf-8 -*-`,打开命令提示符测试就可以正常显示中文:
[img[python18.png]]
!!格式化
最后一个常见的问题是如何输出格式化的字符串。我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
[img[python19.png]]
在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
```bash
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
```
你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
常见的占位符有:
|占位符 |替换内容|
|%d |整数|
|%f |浮点数|
|%s |字符串|
|%x |十六进制整数|
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
```bash
# -*- coding: utf-8 -*-
print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
```
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
```bash
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
```
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
```bash
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
```
!!format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
```bash
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
```
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:
```bash
# -*- coding: utf-8 -*-
s1 = 72
s2 = 85
r = ???
print('???' % r)
```
!!小结
Python 3的字符串使用Unicode,直接支持多语言。
当str和bytes互相转换时,需要指定编码。最常用的编码是UTF-8。Python当然也支持其他编码方式,比如把Unicode编码成GB2312:
```bash
>>> '中文'.encode('gb2312')
b'\xd6\xd0\xce\xc4'
```
但这种方式纯属自找麻烦,如果没有特殊业务要求,请牢记仅使用UTF-8编码。
格式化字符串的时候,可以用Python的交互式环境测试,方便快捷。
参考源码
[[the_string.py|https://github.com/michaelliao/learn-python3/blob/master/samples/basic/the_string.py]]
!aiohttp
asyncio可以实现单线程并发IO操作。如果仅用在客户端,发挥的威力不大。如果把asyncio用在服务器端,例如Web服务器,由于HTTP连接就是IO操作,因此可以用单线程+coroutine实现多用户的高并发支持。
asyncio实现了TCP、UDP、SSL等协议,aiohttp则是基于asyncio实现的HTTP框架。
我们先安装aiohttp:
pip install aiohttp
然后编写一个HTTP服务器,分别处理以下URL:
```bash
/ - 首页返回b'<h1>Index</h1>';
```
```bash
/hello/{name} - 根据URL参数返回文本hello, %s!。
```
代码如下:
```bash
import asyncio
from aiohttp import web
async def index(request):
await asyncio.sleep(0.5)
return web.Response(body=b'<h1>Index</h1>')
async def hello(request):
await asyncio.sleep(0.5)
text = '<h1>hello, %s!</h1>' % request.match_info['name']
return web.Response(body=text.encode('utf-8'))
async def init(loop):
app = web.Application(loop=loop)
app.router.add_route('GET', '/', index)
app.router.add_route('GET', '/hello/{name}', hello)
srv = await loop.create_server(app.make_handler(), '127.0.0.1', 8000)
print('Server started at http://127.0.0.1:8000...')
return srv
loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()
```
注意aiohttp的初始化函数init()也是一个coroutine,loop.create_server()则利用asyncio创建TCP服务。
!!参考源码
[[aio_web.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/aio_web.py]]
!async/await
用asyncio提供的@asyncio.coroutine可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from调用另一个coroutine实现异步操作。
为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法async和await,可以让coroutine的代码更简洁易读。
请注意,async和await是针对coroutine的新语法,要使用新的语法,只需要做两步简单的替换:
把@asyncio.coroutine替换为async;
把yield from替换为await。
让我们对比一下上一节的代码:
```bash
@asyncio.coroutine
def hello():
print("Hello world!")
r = yield from asyncio.sleep(1)
print("Hello again!")
```
用新语法重新编写如下:
```bash
async def hello():
print("Hello world!")
r = await asyncio.sleep(1)
print("Hello again!")
```
剩下的代码保持不变。
!!小结
Python从3.5版本开始为asyncio提供了async和await的新语法;
注意新语法只能用在Python 3.5以及后续版本,如果使用3.4版本,则仍需使用上一节的方案。
!!练习
将上一节的异步获取sina、sohu和163的网站首页源码用新语法重写并运行。
!!参考源码
[[async_hello2.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/async_hello2.py]]
[[async_wget2.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/async_wget2.py]]
!asyncio
asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。
asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。
用asyncio实现Hello world代码如下:
```bash
import asyncio
@asyncio.coroutine
def hello():
print("Hello world!")
# 异步调用asyncio.sleep(1):
r = yield from asyncio.sleep(1)
print("Hello again!")
# 获取EventLoop:
loop = asyncio.get_event_loop()
# 执行coroutine
loop.run_until_complete(hello())
loop.close()
```
@asyncio.coroutine把一个generator标记为coroutine类型,然后,我们就把这个coroutine扔到EventLoop中执行。
hello()会首先打印出Hello world!,然后,yield from语法可以让我们方便地调用另一个generator。由于asyncio.sleep()也是一个coroutine,所以线程不会等待asyncio.sleep(),而是直接中断并执行下一个消息循环。当asyncio.sleep()返回时,线程就可以从yield from拿到返回值(此处是None),然后接着执行下一行语句。
把asyncio.sleep(1)看成是一个耗时1秒的IO操作,在此期间,主线程并未等待,而是去执行EventLoop中其他可以执行的coroutine了,因此可以实现并发执行。
我们用Task封装两个coroutine试试:
```bash
import threading
import asyncio
@asyncio.coroutine
def hello():
print('Hello world! (%s)' % threading.currentThread())
yield from asyncio.sleep(1)
print('Hello again! (%s)' % threading.currentThread())
loop = asyncio.get_event_loop()
tasks = [hello(), hello()]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
```
观察执行过程:
```bash
Hello world! (<_MainThread(MainThread, started 140735195337472)>)
Hello world! (<_MainThread(MainThread, started 140735195337472)>)
(暂停约1秒)
Hello again! (<_MainThread(MainThread, started 140735195337472)>)
Hello again! (<_MainThread(MainThread, started 140735195337472)>)
```
由打印的当前线程名称可以看出,两个coroutine是由同一个线程并发执行的。
如果把asyncio.sleep()换成真正的IO操作,则多个coroutine就可以由一个线程并发执行。
我们用asyncio的异步网络连接来获取sina、sohu和163的网站首页:
```bash
import asyncio
@asyncio.coroutine
def wget(host):
print('wget %s...' % host)
connect = asyncio.open_connection(host, 80)
reader, writer = yield from connect
header = 'GET / HTTP/1.0\r\nHost: %s\r\n\r\n' % host
writer.write(header.encode('utf-8'))
yield from writer.drain()
while True:
line = yield from reader.readline()
if line == b'\r\n':
break
print('%s header > %s' % (host, line.decode('utf-8').rstrip()))
# Ignore the body, close the socket
writer.close()
loop = asyncio.get_event_loop()
tasks = [wget(host) for host in ['www.sina.com.cn', 'www.sohu.com', 'www.163.com']]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
```
执行结果如下:
```bash
wget www.sohu.com...
wget www.sina.com.cn...
wget www.163.com...
(等待一段时间)
(打印出sohu的header)
www.sohu.com header > HTTP/1.1 200 OK
www.sohu.com header > Content-Type: text/html
...
(打印出sina的header)
www.sina.com.cn header > HTTP/1.1 200 OK
www.sina.com.cn header > Date: Wed, 20 May 2015 04:56:33 GMT
...
(打印出163的header)
www.163.com header > HTTP/1.0 302 Moved Temporarily
www.163.com header > Server: Cdn Cache Server V2.0
...
```
可见3个连接由一个线程通过coroutine并发完成。
!!小结
asyncio提供了完善的异步IO支持;
异步操作需要在coroutine中通过yield from完成;
多个coroutine可以封装成一组Task然后并发执行。
!!参考源码
[[async_hello.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/async_hello.py]]
[[async_wget.py|https://github.com/michaelliao/learn-python3/blob/master/samples/async/async_wget.py]]
Base64是一种用64个字符来表示任意二进制数据的方法。
用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。
Base64的原理很简单,首先,准备一个包含64个字符的数组:
```
['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/']
```
然后,对二进制数据进行处理,每3个字节一组,一共是3x8=24bit,划为4组,每组正好6个bit:
```
base64-encode
```
这样我们得到4个数字作为索引,然后查表,获得相应的4个字符,就是编码后的字符串。
所以,Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%,好处是编码后的文本数据可以在邮件正文、网页等直接显示。
如果要编码的二进制数据不是3的倍数,最后会剩下1个或2个字节怎么办?Base64用\x00字节在末尾补足后,再在编码的末尾加上1个或2个=号,表示补了多少字节,解码的时候,会自动去掉。
Python内置的base64可以直接进行base64的编解码:
```bash
>>> import base64
>>> base64.b64encode(b'binary\x00string')
b'YmluYXJ5AHN0cmluZw=='
>>> base64.b64decode(b'YmluYXJ5AHN0cmluZw==')
b'binary\x00string'
```
由于标准的Base64编码后可能出现字符+和/,在URL中就不能直接作为参数,所以又有一种"url safe"的base64编码,其实就是把字符+和/分别变成-和_:
```bash
>>> base64.b64encode(b'i\xb7\x1d\xfb\xef\xff')
b'abcd++//'
>>> base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff')
b'abcd--__'
>>> base64.urlsafe_b64decode('abcd--__')
b'i\xb7\x1d\xfb\xef\xff'
```
还可以自己定义64个字符的排列顺序,这样就可以自定义Base64编码,不过,通常情况下完全没有必要。
Base64是一种通过查表的编码方法,不能用于加密,即使使用自定义的编码表也不行。
Base64适用于小段内容的编码,比如数字证书签名、Cookie的内容等。
由于=字符也可能出现在Base64编码中,但=用在URL、Cookie里面会造成歧义,所以,很多Base64编码后会把=去掉:
```bash
# 标准Base64:
'abcd' -> 'YWJjZA=='
# 自动去掉=:
'abcd' -> 'YWJjZA'
```
去掉=后怎么解码呢?因为Base64是把3个字节变为4个字节,所以,Base64编码的长度永远是4的倍数,因此,需要加上=把Base64字符串的长度变为4的倍数,就可以正常解码了。
!!小结
Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据。
!!练习
请写一个能处理去掉=的base64解码函数:
```bash
# -*- coding: utf-8 -*-
import base64
def safe_base64_decode(s):
pass
# 测试:
assert b'abcd' == safe_base64_decode(b'YWJjZA=='), safe_base64_decode('YWJjZA==')
assert b'abcd' == safe_base64_decode(b'YWJjZA'), safe_base64_decode('YWJjZA')
print('ok')
```
!!参考源码
[[do_base64.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/do_base64.py]]
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
!chardet
字符串编码一直是令人非常头疼的问题,尤其是我们在处理一些不规范的第三方网页的时候。虽然Python提供了Unicode表示的str和bytes两种数据类型,并且可以通过encode()和decode()方法转换,但是,在不知道编码的情况下,对bytes做decode()不好做。
对于未知编码的bytes,要把它转换成str,需要先“猜测”编码。猜测的方式是先收集各种编码的特征字符,根据特征字符判断,就能有很大概率“猜对”。
当然,我们肯定不能从头自己写这个检测编码的功能,这样做费时费力。chardet这个第三方库正好就派上了用场。用它来检测编码,简单易用。
!!安装chardet
如果安装了Anaconda,chardet就已经可用了。否则,需要在命令行下通过pip安装:
```
$ pip install chardet
```
如果遇到Permission denied安装失败,请加上sudo重试。
!!使用chardet
当我们拿到一个bytes时,就可以对其检测编码。用chardet检测编码,只需要一行代码:
```bash
>>> chardet.detect(b'Hello, world!')
{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
```
检测出的编码是ascii,注意到还有个confidence字段,表示检测的概率是1.0(即100%)。
我们来试试检测GBK编码的中文:
```bash
>>> data = '离离原上草,一岁一枯荣'.encode('gbk')
>>> chardet.detect(data)
{'encoding': 'GB2312', 'confidence': 0.7407407407407407, 'language': 'Chinese'}
```
检测的编码是GB2312,注意到GBK是GB2312的超集,两者是同一种编码,检测正确的概率是74%,language字段指出的语言是'Chinese'。
对UTF-8编码进行检测:
```bash
>>> data = '离离原上草,一岁一枯荣'.encode('utf-8')
>>> chardet.detect(data)
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
```
我们再试试对日文进行检测:
```bash
>>> data = '最新の主要ニュース'.encode('euc-jp')
>>> chardet.detect(data)
{'encoding': 'EUC-JP', 'confidence': 0.99, 'language': 'Japanese'}
```
可见,用chardet检测编码,使用简单。获取到编码后,再转换为str,就可以方便后续处理。
chardet支持检测的编码列表请参考官方文档Supported encodings。
!!小结
使用chardet检测编码非常容易,chardet支持检测中文、日文、韩文等多种语言。
!collections
collections是Python内建的一个集合模块,提供了许多有用的集合类。
!!namedtuple
我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:
```bash
>>> p = (1, 2)
```
但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。
定义一个class又小题大做了,这时,namedtuple就派上了用场:
```bash
>>> from collections import namedtuple
>>> Point = namedtuple('Point', ['x', 'y'])
>>> p = Point(1, 2)
>>> p.x
1
>>> p.y
2
```
namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。
这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。
可以验证创建的Point对象是tuple的一种子类:
```bash
>>> isinstance(p, Point)
True
>>> isinstance(p, tuple)
True
```
类似的,如果要用坐标和半径表示一个圆,也可以用namedtuple定义:
```bash
# namedtuple('名称', [属性list]):
Circle = namedtuple('Circle', ['x', 'y', 'r'])
deque
```
使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。
deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:
```bash
>>> from collections import deque
>>> q = deque(['a', 'b', 'c'])
>>> q.append('x')
>>> q.appendleft('y')
>>> q
deque(['y', 'a', 'b', 'c', 'x'])
```
deque除了实现list的append()和pop()外,还支持appendleft()和popleft(),这样就可以非常高效地往头部添加或删除元素。
!!defaultdict
使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict:
```bash
>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1存在
'abc'
>>> dd['key2'] # key2不存在,返回默认值
'N/A'
```
注意默认值是调用函数返回的,而函数在创建defaultdict对象时传入。
除了在Key不存在时返回默认值,defaultdict的其他行为跟dict是完全一样的。
!!OrderedDict
使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。
如果要保持Key的顺序,可以用OrderedDict:
```bash
>>> from collections import OrderedDict
>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict的Key是无序的
{'a': 1, 'c': 3, 'b': 2}
>>> od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> od # OrderedDict的Key是有序的
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
```
注意,OrderedDict的Key会按照插入的顺序排列,不是Key本身排序:
```bash
>>> od = OrderedDict()
>>> od['z'] = 1
>>> od['y'] = 2
>>> od['x'] = 3
>>> list(od.keys()) # 按照插入的Key的顺序返回
['z', 'y', 'x']
```
OrderedDict可以实现一个FIFO(先进先出)的dict,当容量超出限制时,先删除最早添加的Key:
```bash
from collections import OrderedDict
class LastUpdatedOrderedDict(OrderedDict):
def __init__(self, capacity):
super(LastUpdatedOrderedDict, self).__init__()
self._capacity = capacity
def __setitem__(self, key, value):
containsKey = 1 if key in self else 0
if len(self) - containsKey >= self._capacity:
last = self.popitem(last=False)
print('remove:', last)
if containsKey:
del self[key]
print('set:', (key, value))
else:
print('add:', (key, value))
OrderedDict.__setitem__(self, key, value)
```
!!Counter
Counter是一个简单的计数器,例如,统计字符出现的个数:
```bash
>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'programming':
... c[ch] = c[ch] + 1
...
>>> c
Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})
```
Counter实际上也是dict的一个子类,上面的结果可以看出,字符'g'、'm'、'r'各出现了两次,其他字符各出现了一次。
!!小结
collections模块提供了一些有用的集合类,可以根据需要选用。
!!参考源码
[[use_collections.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_collections.py]]
!contextlib
在Python中,读写文件这样的资源要特别注意,必须在使用完毕后正确关闭它们。正确关闭文件资源的一个方法是使用try...finally:
```bash
try:
f = open('/path/to/file', 'r')
f.read()
finally:
if f:
f.close()
```
写try...finally非常繁琐。Python的with语句允许我们非常方便地使用资源,而不必担心资源没有关闭,所以上面的代码可以简化为:
```bash
with open('/path/to/file', 'r') as f:
f.read()
```
并不是只有open()函数返回的fp对象才能使用with语句。实际上,任何对象,只要正确实现了上下文管理,就可以用于with语句。
实现上下文管理是通过`__enter__`和`__exit__`这两个方法实现的。例如,下面的class实现了这两个方法:
```bash
class Query(object):
def __init__(self, name):
self.name = name
def __enter__(self):
print('Begin')
return self
def __exit__(self, exc_type, exc_value, traceback):
if exc_type:
print('Error')
else:
print('End')
def query(self):
print('Query info about %s...' % self.name)
```
这样我们就可以把自己写的资源对象用于with语句:
```bash
with Query('Bob') as q:
q.query()
@contextmanager
```
编写`__enter__`和`__exit__`仍然很繁琐,因此Python的标准库contextlib提供了更简单的写法,上面的代码可以改写如下:
```bash
from contextlib import contextmanager
class Query(object):
def __init__(self, name):
self.name = name
def query(self):
print('Query info about %s...' % self.name)
@contextmanager
def create_query(name):
print('Begin')
q = Query(name)
yield q
print('End')
```
@contextmanager这个decorator接受一个generator,用yield语句把with ... as var把变量输出出去,然后,with语句就可以正常地工作了:
```bash
with create_query('Bob') as q:
q.query()
```
很多时候,我们希望在某段代码执行前后自动执行特定代码,也可以用@contextmanager实现。例如:
```bash
@contextmanager
def tag(name):
print("<%s>" % name)
yield
print("</%s>" % name)
with tag("h1"):
print("hello")
print("world")
```
上述代码执行结果为:
```bash
<h1>
hello
world
</h1>
```
代码的执行顺序是:
with语句首先执行yield之前的语句,因此打印出<h1>;
yield调用会执行with语句内部的所有语句,因此打印出hello和world;
最后执行yield之后的语句,打印出</h1>。
因此,@contextmanager让我们通过编写generator来简化上下文管理。
!!@closing
如果一个对象没有实现上下文,我们就不能把它用于with语句。这个时候,可以用closing()来把该对象变为上下文对象。例如,用with语句使用urlopen():
```bash
from contextlib import closing
from urllib.request import urlopen
with closing(urlopen('https://www.python.org')) as page:
for line in page:
print(line)
```
closing也是一个经过@contextmanager装饰的generator,这个generator编写起来其实非常简单:
```bash
@contextmanager
def closing(thing):
try:
yield thing
finally:
thing.close()
```
它的作用就是把任意对象变为上下文对象,并支持with语句。
@contextlib还有一些其他decorator,便于我们编写更简洁的代码。
datetime是Python处理日期和时间的标准库。
!!获取当前日期和时间
我们先看如何获取当前日期和时间:
```bash
>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2015-05-18 16:28:07.198690
>>> print(type(now))
<class 'datetime.datetime'>
```
注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。
如果仅导入import datetime,则必须引用全名datetime.datetime。
datetime.now()返回当前日期和时间,其类型是datetime。
!!获取指定日期和时间
要指定某个日期和时间,我们直接用参数构造一个datetime:
```
>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> print(dt)
2015-04-19 12:20:00
```
!!datetime转换为timestamp
在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。
你可以认为:
timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
对应的北京时间是:
timestamp = 0 = 1970-1-1 08:00:00 UTC+8:00
可见timestamp的值与时区毫无关系,因为timestamp一旦确定,其UTC时间就确定了,转换到任意时区的时间也是完全确定的,这就是为什么计算机存储的当前时间是以timestamp表示的,因为全球各地的计算机在任意时刻的timestamp都是完全相同的(假定时间已校准)。
把一个datetime类型转换为timestamp只需要简单调用timestamp()方法:
```bash
>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> dt.timestamp() # 把datetime转换为timestamp
1429417200.0
```
注意Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数。
某些编程语言(如Java和JavaScript)的timestamp使用整数表示毫秒数,这种情况下只需要把timestamp除以1000就得到Python的浮点表示方法。
!!timestamp转换为datetime
要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法:
```bash
>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t))
2015-04-19 12:20:00
```
注意到timestamp是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在timestamp和本地时间做转换。
本地时间是指当前操作系统设定的时区。例如北京时区是东8区,则本地时间:
2015-04-19 12:20:00
实际上就是UTC+8:00时区的时间:
2015-04-19 12:20:00 UTC+8:00
而此刻的格林威治标准时间与北京时间差了8小时,也就是UTC+0:00时区的时间应该是:
2015-04-19 04:20:00 UTC+0:00
timestamp也可以直接被转换到UTC标准时区的时间:
```bash
>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t)) # 本地时间
2015-04-19 12:20:00
>>> print(datetime.utcfromtimestamp(t)) # UTC时间
2015-04-19 04:20:00
```
!!str转换为datetime
很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:
```
>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59
```
字符串'%Y-%m-%d %H:%M:%S'规定了日期和时间部分的格式。详细的说明请参考Python文档。
注意转换后的datetime是没有时区信息的。
!!datetime转换为str
如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:
```bash
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28
```
!!datetime加减
对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+和-运算符,不过需要导入timedelta这个类:
```bash
>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)
```
可见,使用timedelta你可以很容易地算出前几天和后几天的时刻。
!!本地时间转换为UTC时间
本地时间是指系统设定时区的时间,例如北京时间是UTC+8:00时区的时间,而UTC时间指UTC+0:00时区的时间。
一个datetime类型有一个时区属性tzinfo,但是默认为None,所以无法区分这个datetime到底是哪个时区,除非强行给datetime设置一个时区:
```bash
>>> from datetime import datetime, timedelta, timezone
>>> tz_utc_8 = timezone(timedelta(hours=8)) # 创建时区UTC+8:00
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 17, 2, 10, 871012)
>>> dt = now.replace(tzinfo=tz_utc_8) # 强制设置为UTC+8:00
>>> dt
datetime.datetime(2015, 5, 18, 17, 2, 10, 871012, tzinfo=datetime.timezone(datetime.timedelta(0, 28800)))
```
如果系统时区恰好是UTC+8:00,那么上述代码就是正确的,否则,不能强制设置为UTC+8:00时区。
!!时区转换
我们可以先通过utcnow()拿到当前的UTC时间,再转换为任意时区的时间:
```bash
# 拿到UTC时间,并强制设置时区为UTC+0:00:
>>> utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
>>> print(utc_dt)
2015-05-18 09:05:12.377316+00:00
# astimezone()将转换时区为北京时间:
>>> bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
>>> print(bj_dt)
2015-05-18 17:05:12.377316+08:00
# astimezone()将转换时区为东京时间:
>>> tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt)
2015-05-18 18:05:12.377316+09:00
# astimezone()将bj_dt转换时区为东京时间:
>>> tokyo_dt2 = bj_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt2)
2015-05-18 18:05:12.377316+09:00
```
时区转换的关键在于,拿到一个datetime时,要获知其正确的时区,然后强制设置时区,作为基准时间。
利用带时区的datetime,通过astimezone()方法,可以转换到任意时区。
注:不是必须从UTC+0:00时区转换到其他时区,任何带时区的datetime都可以正确转换,例如上述bj_dt到tokyo_dt的转换。
!!小结
datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。
如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。
练习
假设你获取了用户输入的日期和时间如2015-1-21 9:01:30,以及一个时区信息如UTC+5:00,均是str,请编写一个函数将其转换为timestamp:
```bash
# -*- coding:utf-8 -*-
import re
from datetime import datetime, timezone, timedelta
def to_timestamp(dt_str, tz_str):
pass
# 测试:
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
assert t1 == 1433121030.0, t1
t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2
print('ok')
```
!!参考源码
[[use_datetime.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_datetime.py]]
!Day 1 - 搭建开发环境
!!搭建开发环境
首先,确认系统安装的Python版本是3.6.x:
```
$ python3 --version
Python 3.6.1
```
然后,用pip安装开发Web App需要的第三方库:
异步框架aiohttp:
```bash
$pip3 install aiohttp
```
前端模板引擎jinja2:
```
$ pip3 install jinja2
```
MySQL 5.x数据库,从官方网站下载并安装,安装完毕后,请务必牢记root口令。为避免遗忘口令,建议直接把root口令设置为password;
MySQL的Python异步驱动程序aiomysql:
```
$ pip3 install aiomysql
```
!!项目结构
选择一个工作目录,然后,我们建立如下的目录结构:
```
awesome-python3-webapp/ <-- 根目录
|
+- backup/ <-- 备份目录
|
+- conf/ <-- 配置文件
|
+- dist/ <-- 打包目录
|
+- www/ <-- Web目录,存放.py文件
| |
| +- static/ <-- 存放静态文件
| |
| +- templates/ <-- 存放模板文件
|
+- ios/ <-- 存放iOS App工程
|
+- LICENSE <-- 代码LICENSE
```
创建好项目的目录结构后,建议同时建立git仓库并同步至GitHub,保证代码修改的安全。
要了解git和GitHub的用法,请移步Git教程。
!!开发工具
自备,推荐用Sublime Text,请参考使用文本编辑器。
!!参考源码
[[day-01|https://github.com/michaelliao/awesome-python3-webapp/tree/day-01]]
!Day 10 - 用户注册和登录
用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。
用户注册相对简单,我们可以先通过API把用户注册这个功能实现了:
```bash
_RE_EMAIL = re.compile(r'^[a-z0-9\.\-\_]+\@[a-z0-9\-\_]+(\.[a-z0-9\-\_]+){1,4}$')
_RE_SHA1 = re.compile(r'^[0-9a-f]{40}$')
@post('/api/users')
def api_register_user(*, email, name, passwd):
if not name or not name.strip():
raise APIValueError('name')
if not email or not _RE_EMAIL.match(email):
raise APIValueError('email')
if not passwd or not _RE_SHA1.match(passwd):
raise APIValueError('passwd')
users = yield from User.findAll('email=?', [email])
if len(users) > 0:
raise APIError('register:failed', 'email', 'Email is already in use.')
uid = next_id()
sha1_passwd = '%s:%s' % (uid, passwd)
user = User(id=uid, name=name.strip(), email=email, passwd=hashlib.sha1(sha1_passwd.encode('utf-8')).hexdigest(), image='http://www.gravatar.com/avatar/%s?d=mm&s=120' % hashlib.md5(email.encode('utf-8')).hexdigest())
yield from user.save()
# make session cookie:
r = web.Response()
r.set_cookie(COOKIE_NAME, user2cookie(user, 86400), max_age=86400, httponly=True)
user.passwd = '******'
r.content_type = 'application/json'
r.body = json.dumps(user, ensure_ascii=False).encode('utf-8')
return r
```
注意用户口令是客户端传递的经过SHA1计算后的40位Hash字符串,所以服务器端并不知道用户的原始口令。
接下来可以创建一个注册页面,让用户填写注册表单,然后,提交数据到注册用户的API:
```bash
{% extends '__base__.html' %}
{% block title %}注册{% endblock %}
{% block beforehead %}
<script>
function validateEmail(email) {
var re = /^[a-z0-9\.\-\_]+\@[a-z0-9\-\_]+(\.[a-z0-9\-\_]+){1,4}$/;
return re.test(email.toLowerCase());
}
$(function () {
var vm = new Vue({
el: '#vm',
data: {
name: '',
email: '',
password1: '',
password2: ''
},
methods: {
submit: function (event) {
event.preventDefault();
var $form = $('#vm');
if (! this.name.trim()) {
return $form.showFormError('请输入名字');
}
if (! validateEmail(this.email.trim().toLowerCase())) {
return $form.showFormError('请输入正确的Email地址');
}
if (this.password1.length < 6) {
return $form.showFormError('口令长度至少为6个字符');
}
if (this.password1 !== this.password2) {
return $form.showFormError('两次输入的口令不一致');
}
var email = this.email.trim().toLowerCase();
$form.postJSON('/api/users', {
name: this.name.trim(),
email: email,
passwd: CryptoJS.SHA1(email + ':' + this.password1).toString()
}, function (err, r) {
if (err) {
return $form.showFormError(err);
}
return location.assign('/');
});
}
}
});
$('#vm').show();
});
</script>
{% endblock %}
{% block content %}
<div class="uk-width-2-3">
<h1>欢迎注册!</h1>
<form id="vm" v-on="submit: submit" class="uk-form uk-form-stacked">
<div class="uk-alert uk-alert-danger uk-hidden"></div>
<div class="uk-form-row">
<label class="uk-form-label">名字:</label>
<div class="uk-form-controls">
<input v-model="name" type="text" maxlength="50" placeholder="名字" class="uk-width-1-1">
</div>
</div>
<div class="uk-form-row">
<label class="uk-form-label">电子邮件:</label>
<div class="uk-form-controls">
<input v-model="email" type="text" maxlength="50" placeholder="your-name@example.com" class="uk-width-1-1">
</div>
</div>
<div class="uk-form-row">
<label class="uk-form-label">输入口令:</label>
<div class="uk-form-controls">
<input v-model="password1" type="password" maxlength="50" placeholder="输入口令" class="uk-width-1-1">
</div>
</div>
<div class="uk-form-row">
<label class="uk-form-label">重复口令:</label>
<div class="uk-form-controls">
<input v-model="password2" type="password" maxlength="50" placeholder="重复口令" class="uk-width-1-1">
</div>
</div>
<div class="uk-form-row">
<button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-user"></i> 注册</button>
</div>
</form>
</div>
{% endblock %}
```
这样我们就把用户注册的功能完成了:
[img[python70.jpg]]
用户登录比用户注册复杂。由于HTTP协议是一种无状态协议,而服务器要跟踪用户状态,就只能通过cookie实现。大多数Web框架提供了Session功能来封装保存用户状态的cookie。
Session的优点是简单易用,可以直接从Session中取出用户登录信息。
Session的缺点是服务器需要在内存中维护一个映射表来存储用户登录信息,如果有两台以上服务器,就需要对Session做集群,因此,使用Session的Web App很难扩展。
我们采用直接读取cookie的方式来验证用户登录,每次用户访问任意URL,都会对cookie进行验证,这种方式的好处是保证服务器处理任意的URL都是无状态的,可以扩展到多台服务器。
由于登录成功后是由服务器生成一个cookie发送给浏览器,所以,要保证这个cookie不会被客户端伪造出来。
实现防伪造cookie的关键是通过一个单向算法(例如SHA1),举例如下:
当用户输入了正确的口令登录成功后,服务器可以从数据库取到用户的id,并按照如下方式计算出一个字符串:
"用户id" + "过期时间" + SHA1("用户id" + "用户口令" + "过期时间" + "SecretKey")
当浏览器发送cookie到服务器端后,服务器可以拿到的信息包括:
* 用户id
* 过期时间
* SHA1值
如果未到过期时间,服务器就根据用户id查找用户口令,并计算:
SHA1("用户id" + "用户口令" + "过期时间" + "SecretKey")
并与浏览器cookie中的哈希进行比较,如果相等,则说明用户已登录,否则,cookie就是伪造的。
这个算法的关键在于SHA1是一种单向算法,即可以通过原始字符串计算出SHA1结果,但无法通过SHA1结果反推出原始字符串。
所以登录API可以实现如下:
```bash
@post('/api/authenticate')
def authenticate(*, email, passwd):
if not email:
raise APIValueError('email', 'Invalid email.')
if not passwd:
raise APIValueError('passwd', 'Invalid password.')
users = yield from User.findAll('email=?', [email])
if len(users) == 0:
raise APIValueError('email', 'Email not exist.')
user = users[0]
# check passwd:
sha1 = hashlib.sha1()
sha1.update(user.id.encode('utf-8'))
sha1.update(b':')
sha1.update(passwd.encode('utf-8'))
if user.passwd != sha1.hexdigest():
raise APIValueError('passwd', 'Invalid password.')
# authenticate ok, set cookie:
r = web.Response()
r.set_cookie(COOKIE_NAME, user2cookie(user, 86400), max_age=86400, httponly=True)
user.passwd = '******'
r.content_type = 'application/json'
r.body = json.dumps(user, ensure_ascii=False).encode('utf-8')
return r
# 计算加密cookie:
def user2cookie(user, max_age):
# build cookie string by: id-expires-sha1
expires = str(int(time.time() + max_age))
s = '%s-%s-%s-%s' % (user.id, user.passwd, expires, _COOKIE_KEY)
L = [user.id, expires, hashlib.sha1(s.encode('utf-8')).hexdigest()]
return '-'.join(L)
```
对于每个URL处理函数,如果我们都去写解析cookie的代码,那会导致代码重复很多次。
利用middle在处理URL之前,把cookie解析出来,并将登录用户绑定到request对象上,这样,后续的URL处理函数就可以直接拿到登录用户:
```bash
@asyncio.coroutine
def auth_factory(app, handler):
@asyncio.coroutine
def auth(request):
logging.info('check user: %s %s' % (request.method, request.path))
request.__user__ = None
cookie_str = request.cookies.get(COOKIE_NAME)
if cookie_str:
user = yield from cookie2user(cookie_str)
if user:
logging.info('set current user: %s' % user.email)
request.__user__ = user
return (yield from handler(request))
return auth
# 解密cookie:
@asyncio.coroutine
def cookie2user(cookie_str):
'''
Parse cookie and load user if cookie is valid.
'''
if not cookie_str:
return None
try:
L = cookie_str.split('-')
if len(L) != 3:
return None
uid, expires, sha1 = L
if int(expires) < time.time():
return None
user = yield from User.find(uid)
if user is None:
return None
s = '%s-%s-%s-%s' % (uid, user.passwd, expires, _COOKIE_KEY)
if sha1 != hashlib.sha1(s.encode('utf-8')).hexdigest():
logging.info('invalid sha1')
return None
user.passwd = '******'
return user
except Exception as e:
logging.exception(e)
return None
```
这样,我们就完成了用户注册和登录的功能。
!!参考源码
[[day-10|https://github.com/michaelliao/awesome-python3-webapp/tree/day-10]]
!Day 11 - 编写日志创建页
在Web开发中,后端代码写起来其实是相当容易的。
例如,我们编写一个REST API,用于创建一个Blog:
```bash
@post('/api/blogs')
def api_create_blog(request, *, name, summary, content):
check_admin(request)
if not name or not name.strip():
raise APIValueError('name', 'name cannot be empty.')
if not summary or not summary.strip():
raise APIValueError('summary', 'summary cannot be empty.')
if not content or not content.strip():
raise APIValueError('content', 'content cannot be empty.')
blog = Blog(user_id=request.__user__.id, user_name=request.__user__.name, user_image=request.__user__.image, name=name.strip(), summary=summary.strip(), content=content.strip())
yield from blog.save()
return blog
```
编写后端Python代码不但很简单,而且非常容易测试,上面的API:api_create_blog()本身只是一个普通函数。
Web开发真正困难的地方在于编写前端页面。前端页面需要混合HTML、CSS和JavaScript,如果对这三者没有深入地掌握,编写的前端页面将很快难以维护。
更大的问题在于,前端页面通常是动态页面,也就是说,前端页面往往是由后端代码生成的。
生成前端页面最早的方式是拼接字符串:
```bash
s = '<html><head><title>'
+ title
+ '</title></head><body>'
+ body
+ '</body></html>'
```
显然这种方式完全不具备可维护性。所以有第二种模板方式:
```bash
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
{{ body }}
</body>
</html>
```
ASP、JSP、PHP等都是用这种模板方式生成前端页面。
如果在页面上大量使用JavaScript(事实上大部分页面都会),模板方式仍然会导致JavaScript代码与后端代码绑得非常紧密,以至于难以维护。其根本原因在于负责显示的HTML DOM模型与负责数据和交互的JavaScript代码没有分割清楚。
要编写可维护的前端代码绝非易事。和后端结合的MVC模式已经无法满足复杂页面逻辑的需要了,所以,新的MVVM:Model View ViewModel模式应运而生。
MVVM最早由微软提出来,它借鉴了桌面应用程序的MVC思想,在前端页面中,把Model用纯JavaScript对象表示:
```
<script>
var blog = {
name: 'hello',
summary: 'this is summary',
content: 'this is content...'
};
</script>
View是纯HTML:
<form action="/api/blogs" method="post">
<input name="name">
<input name="summary">
<textarea name="content"></textarea>
<button type="submit">OK</button>
</form>
```
由于Model表示数据,View负责显示,两者做到了最大限度的分离。
把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。
ViewModel如何编写?需要用JavaScript编写一个通用的ViewModel,这样,就可以复用整个MVVM模型了。
好消息是已有许多成熟的MVVM框架,例如AngularJS,KnockoutJS等。我们选择Vue这个简单易用的MVVM框架来实现创建Blog的页面templates/manage_blog_edit.html:
```bash
{% extends '__base__.html' %}
{% block title %}编辑日志{% endblock %}
{% block beforehead %}
<script>
var
ID = '{{ id }}',
action = '{{ action }}';
function initVM(blog) {
var vm = new Vue({
el: '#vm',
data: blog,
methods: {
submit: function (event) {
event.preventDefault();
var $form = $('#vm').find('form');
$form.postJSON(action, this.$data, function (err, r) {
if (err) {
$form.showFormError(err);
}
else {
return location.assign('/api/blogs/' + r.id);
}
});
}
}
});
$('#vm').show();
}
$(function () {
if (ID) {
getJSON('/api/blogs/' + ID, function (err, blog) {
if (err) {
return fatal(err);
}
$('#loading').hide();
initVM(blog);
});
}
else {
$('#loading').hide();
initVM({
name: '',
summary: '',
content: ''
});
}
});
</script>
{% endblock %}
{% block content %}
<div class="uk-width-1-1 uk-margin-bottom">
<div class="uk-panel uk-panel-box">
<ul class="uk-breadcrumb">
<li><a href="/manage/comments">评论</a></li>
<li><a href="/manage/blogs">日志</a></li>
<li><a href="/manage/users">用户</a></li>
</ul>
</div>
</div>
<div id="error" class="uk-width-1-1">
</div>
<div id="loading" class="uk-width-1-1 uk-text-center">
<span><i class="uk-icon-spinner uk-icon-medium uk-icon-spin"></i> 正在加载...</span>
</div>
<div id="vm" class="uk-width-2-3">
<form v-on="submit: submit" class="uk-form uk-form-stacked">
<div class="uk-alert uk-alert-danger uk-hidden"></div>
<div class="uk-form-row">
<label class="uk-form-label">标题:</label>
<div class="uk-form-controls">
<input v-model="name" name="name" type="text" placeholder="标题" class="uk-width-1-1">
</div>
</div>
<div class="uk-form-row">
<label class="uk-form-label">摘要:</label>
<div class="uk-form-controls">
<textarea v-model="summary" rows="4" name="summary" placeholder="摘要" class="uk-width-1-1" style="resize:none;"></textarea>
</div>
</div>
<div class="uk-form-row">
<label class="uk-form-label">内容:</label>
<div class="uk-form-controls">
<textarea v-model="content" rows="16" name="content" placeholder="内容" class="uk-width-1-1" style="resize:none;"></textarea>
</div>
</div>
<div class="uk-form-row">
<button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-save"></i> 保存</button>
<a href="/manage/blogs" class="uk-button"><i class="uk-icon-times"></i> 取消</a>
</div>
</form>
</div>
{% endblock %}
```
初始化Vue时,我们指定3个参数:
el:根据选择器查找绑定的View,这里是#vm,就是id为vm的DOM,对应的是一个`<div>`标签;
data:JavaScript对象表示的Model,我们初始化为`{ name: '', summary: '', content: ''}`;
methods:View可以触发的JavaScript函数,submit就是提交表单时触发的函数。
接下来,我们在`<form>`标签中,用几个简单的v-model,就可以让Vue把Model和View关联起来:
```bash
<!-- input的value和Model的name关联起来了 -->
<input v-model="name" class="uk-width-1-1">
```
Form表单通过`<form v-on="submit: submit">`把提交表单的事件关联到submit方法。
需要特别注意的是,在MVVM中,Model和View是双向绑定的。如果我们在Form中修改了文本框的值,可以在Model中立刻拿到新的值。试试在表单中输入文本,然后在Chrome浏览器中打开JavaScript控制台,可以通过vm.name访问单个属性,或者通过`vm.$data`访问整个Model:
[img[python71.png]]
如果我们在JavaScript逻辑中修改了Model,这个修改会立刻反映到View上。试试在JavaScript控制台输入vm.name = 'MVVM简介',可以看到文本框的内容自动被同步了:
[img[python72.png]]
双向绑定是MVVM框架最大的作用。借助于MVVM,我们把复杂的显示逻辑交给框架完成。由于后端编写了独立的REST API,所以,前端用AJAX提交表单非常容易,前后端分离得非常彻底。
!!参考源码
[[day-11|https://github.com/michaelliao/awesome-python3-webapp/tree/day-11]]
!Day 12 - 编写日志列表页
MVVM模式不但可用于Form表单,在复杂的管理页面中也能大显身手。例如,分页显示Blog的功能,我们先把后端代码写出来:
在apis.py中定义一个Page类用于存储分页信息:
```bash
class Page(object):
def __init__(self, item_count, page_index=1, page_size=10):
self.item_count = item_count
self.page_size = page_size
self.page_count = item_count // page_size + (1 if item_count % page_size > 0 else 0)
if (item_count == 0) or (page_index > self.page_count):
self.offset = 0
self.limit = 0
self.page_index = 1
else:
self.page_index = page_index
self.offset = self.page_size * (page_index - 1)
self.limit = self.page_size
self.has_next = self.page_index < self.page_count
self.has_previous = self.page_index > 1
def __str__(self):
return 'item_count: %s, page_count: %s, page_index: %s, page_size: %s, offset: %s, limit: %s' % (self.item_count, self.page_count, self.page_index, self.page_size, self.offset, self.limit)
__repr__ = __str__
```
在handlers.py中实现API:
```
@get('/api/blogs')
def api_blogs(*, page='1'):
page_index = get_page_index(page)
num = yield from Blog.findNumber('count(id)')
p = Page(num, page_index)
if num == 0:
return dict(page=p, blogs=())
blogs = yield from Blog.findAll(orderBy='created_at desc', limit=(p.offset, p.limit))
return dict(page=p, blogs=blogs)
```
管理页面:
```bash
@get('/manage/blogs')
def manage_blogs(*, page='1'):
return {
'__template__': 'manage_blogs.html',
'page_index': get_page_index(page)
}
```
模板页面首先通过API:`GET /api/blogs?page=?`拿到Model:
```bash
{
"page": {
"has_next": true,
"page_index": 1,
"page_count": 2,
"has_previous": false,
"item_count": 12
},
"blogs": [...]
}
```
然后,通过Vue初始化MVVM:
```bash
<script>
function initVM(data) {
var vm = new Vue({
el: '#vm',
data: {
blogs: data.blogs,
page: data.page
},
methods: {
edit_blog: function (blog) {
location.assign('/manage/blogs/edit?id=' + blog.id);
},
delete_blog: function (blog) {
if (confirm('确认要删除“' + blog.name + '”?删除后不可恢复!')) {
postJSON('/api/blogs/' + blog.id + '/delete', function (err, r) {
if (err) {
return alert(err.message || err.error || err);
}
refresh();
});
}
}
}
});
$('#vm').show();
}
$(function() {
getJSON('/api/blogs', {
page: {{ page_index }}
}, function (err, results) {
if (err) {
return fatal(err);
}
$('#loading').hide();
initVM(results);
});
});
</script>
```
View的容器是#vm,包含一个table,我们用v-repeat可以把Model的数组blogs直接变成多行的`<tr>`:
```bash
<div id="vm" class="uk-width-1-1">
<a href="/manage/blogs/create" class="uk-button uk-button-primary"><i class="uk-icon-plus"></i> 新日志</a>
<table class="uk-table uk-table-hover">
<thead>
<tr>
<th class="uk-width-5-10">标题 / 摘要</th>
<th class="uk-width-2-10">作者</th>
<th class="uk-width-2-10">创建时间</th>
<th class="uk-width-1-10">操作</th>
</tr>
</thead>
<tbody>
<tr v-repeat="blog: blogs" >
<td>
<a target="_blank" v-attr="href: '/blog/'+blog.id" v-text="blog.name"></a>
</td>
<td>
<a target="_blank" v-attr="href: '/user/'+blog.user_id" v-text="blog.user_name"></a>
</td>
<td>
<span v-text="blog.created_at.toDateTime()"></span>
</td>
<td>
<a href="#0" v-on="click: edit_blog(blog)"><i class="uk-icon-edit"></i>
<a href="#0" v-on="click: delete_blog(blog)"><i class="uk-icon-trash-o"></i>
</td>
</tr>
</tbody>
</table>
<div v-component="pagination" v-with="page"></div>
</div>
```
往Model的blogs数组中增加一个Blog元素,table就神奇地增加了一行;把blogs数组的某个元素删除,table就神奇地减少了一行。所有复杂的Model-View的映射逻辑全部由MVVM框架完成,我们只需要在HTML中写上v-repeat指令,就什么都不用管了。
可以把`v-repeat="blog: blogs"`看成循环代码,所以,可以在一个`<tr>`内部引用循环变量blog。v-text和v-attr指令分别用于生成文本和DOM节点属性。
完整的Blog列表页如下:
[img[python73.png]]
!! 参考源码
[[day-12|https://github.com/michaelliao/awesome-python3-webapp/tree/day-12]]
!Day 13 - 提升开发效率
现在,我们已经把一个Web App的框架完全搭建好了,从后端的API到前端的MVVM,流程已经跑通了。
在继续工作前,注意到每次修改Python代码,都必须在命令行先Ctrl-C停止服务器,再重启,改动才能生效。
在开发阶段,每天都要修改、保存几十次代码,每次保存都手动来这么一下非常麻烦,严重地降低了我们的开发效率。有没有办法让服务器检测到代码修改后自动重新加载呢?
Django的开发环境在Debug模式下就可以做到自动重新加载,如果我们编写的服务器也能实现这个功能,就能大大提升开发效率。
可惜的是,Django没把这个功能独立出来,不用Django就享受不到,怎么办?
其实Python本身提供了重新载入模块的功能,但不是所有模块都能被重新载入。另一种思路是检测www目录下的代码改动,一旦有改动,就自动重启服务器。
按照这个思路,我们可以编写一个辅助程序pymonitor.py,让它启动wsgiapp.py,并时刻监控www目录下的代码改动,有改动时,先把当前wsgiapp.py进程杀掉,再重启,就完成了服务器进程的自动重启。
要监控目录文件的变化,我们也无需自己手动定时扫描,Python的第三方库watchdog可以利用操作系统的API来监控目录文件的变化,并发送通知。我们先用pip安装:
```
$ pip3 install watchdog
```
利用watchdog接收文件变化的通知,如果是.py文件,就自动重启wsgiapp.py进程。
利用Python自带的subprocess实现进程的启动和终止,并把输入输出重定向到当前进程的输入输出中:
```bash
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = 'Michael Liao'
import os, sys, time, subprocess
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
def log(s):
print('[Monitor] %s' % s)
class MyFileSystemEventHander(FileSystemEventHandler):
def __init__(self, fn):
super(MyFileSystemEventHander, self).__init__()
self.restart = fn
def on_any_event(self, event):
if event.src_path.endswith('.py'):
log('Python source file changed: %s' % event.src_path)
self.restart()
command = ['echo', 'ok']
process = None
def kill_process():
global process
if process:
log('Kill process [%s]...' % process.pid)
process.kill()
process.wait()
log('Process ended with code %s.' % process.returncode)
process = None
def start_process():
global process, command
log('Start process %s...' % ' '.join(command))
process = subprocess.Popen(command, stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr)
def restart_process():
kill_process()
start_process()
def start_watch(path, callback):
observer = Observer()
observer.schedule(MyFileSystemEventHander(restart_process), path, recursive=True)
observer.start()
log('Watching directory %s...' % path)
start_process()
try:
while True:
time.sleep(0.5)
except KeyboardInterrupt:
observer.stop()
observer.join()
if __name__ == '__main__':
argv = sys.argv[1:]
if not argv:
print('Usage: ./pymonitor your-script.py')
exit(0)
if argv[0] != 'python3':
argv.insert(0, 'python3')
command = argv
path = os.path.abspath('.')
start_watch(path, None)
```
一共70行左右的代码,就实现了Debug模式的自动重新加载。用下面的命令启动服务器:
```
$ python3 pymonitor.py wsgiapp.py
```
或者给pymonitor.py加上可执行权限,启动服务器:
```
$ ./pymonitor.py app.py
```
在编辑器中打开一个.py文件,修改后保存,看看命令行输出,是不是自动重启了服务器:
```bash
$ ./pymonitor.py app.py
[Monitor] Watching directory /Users/michael/Github/awesome-python3-webapp/www...
[Monitor] Start process python app.py...
...
INFO:root:application (/Users/michael/Github/awesome-python3-webapp/www) will start at 0.0.0.0:9000...
[Monitor] Python source file changed: /Users/michael/Github/awesome-python-webapp/www/handlers.py
[Monitor] Kill process [2747]...
[Monitor] Process ended with code -9.
[Monitor] Start process python app.py...
...
INFO:root:application (/Users/michael/Github/awesome-python3-webapp/www) will start at 0.0.0.0:9000...
```
现在,只要一保存代码,就可以刷新浏览器看到效果,大大提升了开发效率。
!Day 14 - 完成Web App
在Web App框架和基本流程跑通后,剩下的工作全部是体力活了:在Debug开发模式下完成后端所有API、前端所有页面。我们需要做的事情包括:
把当前用户绑定到request上,并对URL/manage/进行拦截,检查当前用户是否是管理员身份:
```bash
@asyncio.coroutine
def auth_factory(app, handler):
@asyncio.coroutine
def auth(request):
logging.info('check user: %s %s' % (request.method, request.path))
request.__user__ = None
cookie_str = request.cookies.get(COOKIE_NAME)
if cookie_str:
user = yield from cookie2user(cookie_str)
if user:
logging.info('set current user: %s' % user.email)
request.__user__ = user
if request.path.startswith('/manage/') and (request.__user__ is None or not request.__user__.admin):
return web.HTTPFound('/signin')
return (yield from handler(request))
return auth
```
后端API包括:
* 获取日志:GET /api/blogs
* 创建日志:POST /api/blogs
* 修改日志:POST /api/blogs/:blog_id
* 删除日志:POST /api/blogs/:blog_id/delete
* 获取评论:GET /api/comments
* 创建评论:POST /api/blogs/:blog_id/comments
* 删除评论:POST /api/comments/:comment_id/delete
* 创建新用户:POST /api/users
* 获取用户:GET /api/users
管理页面包括:
* 评论列表页:GET /manage/comments
* 日志列表页:GET /manage/blogs
* 创建日志页:GET /manage/blogs/create
* 修改日志页:GET /manage/blogs/
* 用户列表页:GET /manage/users
用户浏览页面包括:
* 注册页:GET /register
* 登录页:GET /signin
* 注销页:GET /signout
* 首页:GET /
* 日志详情页:GET /blog/:blog_id
把所有的功能实现,我们第一个Web App就宣告完成!
!!参考源码
[[day-14|https://github.com/michaelliao/awesome-python3-webapp/tree/day-14]]
!Day 15 - 部署Web App
作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。
很多做开发的同学把部署这件事情看成是运维同学的工作,这种看法是完全错误的。
首先,最近流行DevOps理念,就是说,开发和运维要变成一个整体。
其次,运维的难度,其实跟开发质量有很大的关系。代码写得垃圾,运维再好也架不住天天挂掉。
最后,DevOps理念需要把运维、监控等功能融入到开发中。你想服务器升级时不中断用户服务?那就得在开发时考虑到这一点。
下面,我们就来把awesome-python3-webapp部署到Linux服务器。
!!搭建Linux服务器
要部署到Linux,首先得有一台Linux服务器。要在公网上体验的同学,可以在Amazon的AWS申请一台EC2虚拟机(免费使用1年),或者使用国内的一些云服务器,一般都提供Ubuntu Server的镜像。想在本地部署的同学,请安装虚拟机,推荐使用VirtualBox。
我们选择的Linux服务器版本是Ubuntu Server 14.04 LTS,原因是apt太简单了。如果你准备使用其他Linux版本,也没有问题。
Linux安装完成后,请确保ssh服务正在运行,否则,需要通过apt安装:
```
$ sudo apt-get install openssh-server
```
有了ssh服务,就可以从本地连接到服务器上。建议把公钥复制到服务器端用户的.ssh/authorized_keys中,这样,就可以通过证书实现无密码连接。
!!部署方式
利用Python自带的asyncio,我们已经编写了一个异步高性能服务器。但是,我们还需要一个高性能的Web服务器,这里选择Nginx,它可以处理静态资源,同时作为反向代理把动态请求交给Python代码处理。这个模型如下:
[img[python74.png]]
Nginx负责分发请求:
[img[python75.png]]
在服务器端,我们需要定义好部署的目录结构:
```
/
+- srv/
+- awesome/ <-- Web App根目录
+- www/ <-- 存放Python源码
| +- static/ <-- 存放静态资源文件
+- log/ <-- 存放log
```
在服务器上部署,要考虑到新版本如果运行不正常,需要回退到旧版本时怎么办。每次用新的代码覆盖掉旧的文件是不行的,需要一个类似版本控制的机制。由于Linux系统提供了软链接功能,所以,我们把www作为一个软链接,它指向哪个目录,哪个目录就是当前运行的版本:
[img[python76.png]]
而Nginx和python代码的配置文件只需要指向www目录即可。
Nginx可以作为服务进程直接启动,但app.py还不行,所以,Supervisor登场!Supervisor是一个管理进程的工具,可以随系统启动而启动服务,它还时刻监控服务进程,如果服务进程意外退出,Supervisor可以自动重启服务。
总结一下我们需要用到的服务有:
* Nginx:高性能Web服务器+负责反向代理;
* Supervisor:监控服务进程的工具;
* MySQL:数据库服务。
在Linux服务器上用apt可以直接安装上述服务:
```
$ sudo apt-get install nginx supervisor python3 mysql-server
```
然后,再把我们自己的Web App用到的Python库安装了:
```
$ sudo pip3 install jinja2 aiomysql aiohttp
```
在服务器上创建目录/srv/awesome/以及相应的子目录。
在服务器上初始化MySQL数据库,把数据库初始化脚本schema.sql复制到服务器上执行:
```
$ mysql -u root -p < schema.sql
```
服务器端准备就绪。
!!部署
用FTP还是SCP还是rsync复制文件?如果你需要手动复制,用一次两次还行,一天如果部署50次不但慢、效率低,而且容易出错。
正确的部署方式是使用工具配合脚本完成自动化部署。Fabric就是一个自动化部署工具。由于Fabric是用Python 2.x开发的,所以,部署脚本要用Python 2.7来编写,本机还必须安装Python 2.7版本。
要用Fabric部署,需要在本机(是开发机器,不是Linux服务器)安装Fabric:
```
$ easy_install fabric
```
Linux服务器上不需要安装Fabric,Fabric使用SSH直接登录服务器并执行部署命令。
下一步是编写部署脚本。Fabric的部署脚本叫fabfile.py,我们把它放到awesome-python-webapp的目录下,与www目录平级:
```bash
awesome-python-webapp/
+- fabfile.py
+- www/
+- ...
```
Fabric的脚本编写很简单,首先导入Fabric的API,设置部署时的变量:
```bash
# fabfile.py
import os, re
from datetime import datetime
# 导入Fabric API:
from fabric.api import *
# 服务器登录用户名:
env.user = 'michael'
# sudo用户为root:
env.sudo_user = 'root'
# 服务器地址,可以有多个,依次部署:
env.hosts = ['192.168.0.3']
# 服务器MySQL用户名和口令:
db_user = 'www-data'
db_password = 'www-data'
```
然后,每个Python函数都是一个任务。我们先编写一个打包的任务:
```bash
_TAR_FILE = 'dist-awesome.tar.gz'
def build():
includes = ['static', 'templates', 'transwarp', 'favicon.ico', '*.py']
excludes = ['test', '.*', '*.pyc', '*.pyo']
local('rm -f dist/%s' % _TAR_FILE)
with lcd(os.path.join(os.path.abspath('.'), 'www')):
cmd = ['tar', '--dereference', '-czvf', '../dist/%s' % _TAR_FILE]
cmd.extend(['--exclude=\'%s\'' % ex for ex in excludes])
cmd.extend(includes)
local(' '.join(cmd))
```
Fabric提供local('...')来运行本地命令,with lcd(path)可以把当前命令的目录设定为lcd()指定的目录,注意Fabric只能运行命令行命令,Windows下可能需要Cgywin环境。
在awesome-python-webapp目录下运行:
```
$ fab build
```
看看是否在dist目录下创建了dist-awesome.tar.gz的文件。
打包后,我们就可以继续编写deploy任务,把打包文件上传至服务器,解压,重置www软链接,重启相关服务:
```bash
_REMOTE_TMP_TAR = '/tmp/%s' % _TAR_FILE
_REMOTE_BASE_DIR = '/srv/awesome'
def deploy():
newdir = 'www-%s' % datetime.now().strftime('%y-%m-%d_%H.%M.%S')
# 删除已有的tar文件:
run('rm -f %s' % _REMOTE_TMP_TAR)
# 上传新的tar文件:
put('dist/%s' % _TAR_FILE, _REMOTE_TMP_TAR)
# 创建新目录:
with cd(_REMOTE_BASE_DIR):
sudo('mkdir %s' % newdir)
# 解压到新目录:
with cd('%s/%s' % (_REMOTE_BASE_DIR, newdir)):
sudo('tar -xzvf %s' % _REMOTE_TMP_TAR)
# 重置软链接:
with cd(_REMOTE_BASE_DIR):
sudo('rm -f www')
sudo('ln -s %s www' % newdir)
sudo('chown www-data:www-data www')
sudo('chown -R www-data:www-data %s' % newdir)
# 重启Python服务和nginx服务器:
with settings(warn_only=True):
sudo('supervisorctl stop awesome')
sudo('supervisorctl start awesome')
sudo('/etc/init.d/nginx reload')
```
注意run()函数执行的命令是在服务器上运行,with cd(path)和with lcd(path)类似,把当前目录在服务器端设置为cd()指定的目录。如果一个命令需要sudo权限,就不能用run(),而是用sudo()来执行。
!!配置Supervisor
上面让Supervisor重启awesome的命令会失败,因为我们还没有配置Supervisor呢。
编写一个Supervisor的配置文件awesome.conf,存放到/etc/supervisor/conf.d/目录下:
```bash
[program:awesome]
command = /srv/awesome/www/app.py
directory = /srv/awesome/www
user = www-data
startsecs = 3
redirect_stderr = true
stdout_logfile_maxbytes = 50MB
stdout_logfile_backups = 10
stdout_logfile = /srv/awesome/log/app.log
```
配置文件通过[program:awesome]指定服务名为awesome,command指定启动app.py。
然后重启Supervisor后,就可以随时启动和停止Supervisor管理的服务了:
```
$ sudo supervisorctl reload
$ sudo supervisorctl start awesome
$ sudo supervisorctl status
awesome RUNNING pid 1401, uptime 5:01:34
```
!!配置Nginx
Supervisor只负责运行app.py,我们还需要配置Nginx。把配置文件awesome放到/etc/nginx/sites-available/目录下:
```bash
server {
listen 80; # 监听80端口
root /srv/awesome/www;
access_log /srv/awesome/log/access_log;
error_log /srv/awesome/log/error_log;
# server_name awesome.liaoxuefeng.com; # 配置域名
# 处理静态文件/favicon.ico:
location /favicon.ico {
root /srv/awesome/www;
}
# 处理静态资源:
location ~ ^\/static\/.*$ {
root /srv/awesome/www;
}
# 动态请求转发到9000端口:
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
然后在/etc/nginx/sites-enabled/目录下创建软链接:
```
$ pwd
/etc/nginx/sites-enabled
$ sudo ln -s /etc/nginx/sites-available/awesome .
```
让Nginx重新加载配置文件,不出意外,我们的awesome-python3-webapp应该正常运行:
```
$ sudo /etc/init.d/nginx reload
```
如果有任何错误,都可以在/srv/awesome/log下查找Nginx和App本身的log。如果Supervisor启动时报错,可以在/var/log/supervisor下查看Supervisor的log。
如果一切顺利,你可以在浏览器中访问Linux服务器上的awesome-python3-webapp了:
[img[python77.png]]
如果在开发环境更新了代码,只需要在命令行执行:
```
$ fab build
$ fab deploy
```
自动部署完成!刷新浏览器就可以看到服务器代码更新后的效果。
!!友情链接
嫌国外网速慢的童鞋请移步网易和搜狐的镜像站点:
http://mirrors.163.com/
http://mirrors.sohu.com/
!!参考源码
[[day-15|https://github.com/michaelliao/awesome-python3-webapp/tree/day-15]]
!Day 16 - 编写移动App
网站部署上线后,还缺点啥呢?
在移动互联网浪潮席卷而来的今天,一个网站没有上线移动App,出门根本不好意思跟人打招呼。
所以,awesome-python3-webapp必须得有一个移动App版本!
!!开发iPhone版本
我们首先来看看如何开发iPhone App。前置条件:一台Mac电脑,安装XCode和最新的iOS SDK。
在使用MVVM编写前端页面时,我们就能感受到,用REST API封装网站后台的功能,不但能清晰地分离前端页面和后台逻辑,现在这个好处更加明显,移动App也可以通过REST API从后端拿到数据。
我们来设计一个简化版的iPhone App,包含两个屏幕:列出最新日志和阅读日志的详细内容:
[img[python78.jpeg]]
只需要调用API:/api/blogs。
在XCode中完成App编写:
[img[python79.jpeg]]
由于我们的教程是Python,关于如何开发iOS,请移步[[Develop Apps for iOS。|https://developer.apple.com/technologies/ios/]]
[[点击下载iOS App源码。|https://github.com/michaelliao/awesome-python3-webapp/tree/day-16/ios]]
如何编写Android App?这个当成作业了。
参考源码
[[day-16|https://github.com/michaelliao/awesome-python3-webapp/tree/day-16]]
!!Day 2 - 编写Web App骨架
由于我们的Web App建立在asyncio的基础上,因此用aiohttp写一个基本的app.py:
```bash
import logging; logging.basicConfig(level=logging.INFO)
import asyncio, os, json, time
from datetime import datetime
from aiohttp import web
def index(request):
return web.Response(body=b'<h1>Awesome</h1>')
@asyncio.coroutine
def init(loop):
app = web.Application(loop=loop)
app.router.add_route('GET', '/', index)
srv = yield from loop.create_server(app.make_handler(), '127.0.0.1', 9000)
logging.info('server started at http://127.0.0.1:9000...')
return srv
loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()
```
运行python app.py,Web App将在9000端口监听HTTP请求,并且对首页/进行响应:
```bash
$ python3 app.py
INFO:root:server started at http://127.0.0.1:9000...
```
这里我们简单地返回一个Awesome字符串,在浏览器中可以看到效果:
[img[python66.png]]
这说明我们的Web App骨架已经搭好了,可以进一步往里面添加更多的东西。
!!参考源码
[[day-02|https://github.com/michaelliao/awesome-python3-webapp/tree/day-02]]
!Day 3 - 编写ORM
在一个Web App中,所有数据,包括用户信息、发布的日志、评论等,都存储在数据库中。在awesome-python3-webapp中,我们选择MySQL作为数据库。
Web App里面有很多地方都要访问数据库。访问数据库需要创建数据库连接、游标对象,然后执行SQL语句,最后处理异常,清理资源。这些访问数据库的代码如果分散到各个函数中,势必无法维护,也不利于代码复用。
所以,我们要首先把常用的SELECT、INSERT、UPDATE和DELETE操作用函数封装起来。
由于Web框架使用了基于asyncio的aiohttp,这是基于协程的异步模型。在协程中,不能调用普通的同步IO操作,因为所有用户都是由一个线程服务的,协程的执行速度必须非常快,才能处理大量用户的请求。而耗时的IO操作不能在协程中以同步的方式调用,否则,等待一个IO操作时,系统无法响应任何其他用户。
这就是异步编程的一个原则:一旦决定使用异步,则系统每一层都必须是异步,“开弓没有回头箭”。
幸运的是aiomysql为MySQL数据库提供了异步IO的驱动。
!!创建连接池
我们需要创建一个全局的连接池,每个HTTP请求都可以从连接池中直接获取数据库连接。使用连接池的好处是不必频繁地打开和关闭数据库连接,而是能复用就尽量复用。
连接池由全局变量`__pool`存储,缺省情况下将编码设置为utf8,自动提交事务:
```bash
@asyncio.coroutine
def create_pool(loop, **kw):
logging.info('create database connection pool...')
global __pool
__pool = yield from aiomysql.create_pool(
host=kw.get('host', 'localhost'),
port=kw.get('port', 3306),
user=kw['user'],
password=kw['password'],
db=kw['db'],
charset=kw.get('charset', 'utf8'),
autocommit=kw.get('autocommit', True),
maxsize=kw.get('maxsize', 10),
minsize=kw.get('minsize', 1),
loop=loop
)
Select
```
要执行SELECT语句,我们用select函数执行,需要传入SQL语句和SQL参数:
```bash
@asyncio.coroutine
def select(sql, args, size=None):
log(sql, args)
global __pool
with (yield from __pool) as conn:
cur = yield from conn.cursor(aiomysql.DictCursor)
yield from cur.execute(sql.replace('?', '%s'), args or ())
if size:
rs = yield from cur.fetchmany(size)
else:
rs = yield from cur.fetchall()
yield from cur.close()
logging.info('rows returned: %s' % len(rs))
return rs
```
SQL语句的占位符是?,而MySQL的占位符是%s,select()函数在内部自动替换。注意要始终坚持使用带参数的SQL,而不是自己拼接SQL字符串,这样可以防止SQL注入攻击。
注意到yield from将调用一个子协程(也就是在一个协程中调用另一个协程)并直接获得子协程的返回结果。
如果传入size参数,就通过fetchmany()获取最多指定数量的记录,否则,通过fetchall()获取所有记录。
!!Insert, Update, Delete
要执行INSERT、UPDATE、DELETE语句,可以定义一个通用的execute()函数,因为这3种SQL的执行都需要相同的参数,以及返回一个整数表示影响的行数:
```bash
@asyncio.coroutine
def execute(sql, args):
log(sql)
with (yield from __pool) as conn:
try:
cur = yield from conn.cursor()
yield from cur.execute(sql.replace('?', '%s'), args)
affected = cur.rowcount
yield from cur.close()
except BaseException as e:
raise
return affected
```
execute()函数和select()函数所不同的是,cursor对象不返回结果集,而是通过rowcount返回结果数。
!!ORM
有了基本的select()和execute()函数,我们就可以开始编写一个简单的ORM了。
设计ORM需要从上层调用者角度来设计。
我们先考虑如何定义一个User对象,然后把数据库表users和它关联起来。
```bash
from orm import Model, StringField, IntegerField
class User(Model):
__table__ = 'users'
id = IntegerField(primary_key=True)
name = StringField()
```
注意到定义在User类中的`__table__`、id和name是类的属性,不是实例的属性。所以,在类级别上定义的属性用来描述User对象和表的映射关系,而实例属性必须通过`__init__()`方法去初始化,所以两者互不干扰:
```bash
# 创建实例:
user = User(id=123, name='Michael')
# 存入数据库:
user.insert()
# 查询所有User对象:
users = User.findAll()
定义Model
首先要定义的是所有ORM映射的基类Model:
class Model(dict, metaclass=ModelMetaclass):
def __init__(self, **kw):
super(Model, self).__init__(**kw)
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Model' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
def getValue(self, key):
return getattr(self, key, None)
def getValueOrDefault(self, key):
value = getattr(self, key, None)
if value is None:
field = self.__mappings__[key]
if field.default is not None:
value = field.default() if callable(field.default) else field.default
logging.debug('using default value for %s: %s' % (key, str(value)))
setattr(self, key, value)
return value
```
Model从dict继承,所以具备所有dict的功能,同时又实现了特殊方法`__getattr__()`和`__setattr__()`,因此又可以像引用普通字段那样写:
```bash
>>> user['id']
123
>>> user.id
123
以及Field和各种Field子类:
class Field(object):
def __init__(self, name, column_type, primary_key, default):
self.name = name
self.column_type = column_type
self.primary_key = primary_key
self.default = default
def __str__(self):
return '<%s, %s:%s>' % (self.__class__.__name__, self.column_type, self.name)
```
映射varchar的StringField:
```bash
class StringField(Field):
def __init__(self, name=None, primary_key=False, default=None, ddl='varchar(100)'):
super().__init__(name, ddl, primary_key, default)
```
注意到Model只是一个基类,如何将具体的子类如User的映射信息读取出来呢?答案就是通过metaclass:ModelMetaclass:
```bash
class ModelMetaclass(type):
def __new__(cls, name, bases, attrs):
# 排除Model类本身:
if name=='Model':
return type.__new__(cls, name, bases, attrs)
# 获取table名称:
tableName = attrs.get('__table__', None) or name
logging.info('found model: %s (table: %s)' % (name, tableName))
# 获取所有的Field和主键名:
mappings = dict()
fields = []
primaryKey = None
for k, v in attrs.items():
if isinstance(v, Field):
logging.info(' found mapping: %s ==> %s' % (k, v))
mappings[k] = v
if v.primary_key:
# 找到主键:
if primaryKey:
raise RuntimeError('Duplicate primary key for field: %s' % k)
primaryKey = k
else:
fields.append(k)
if not primaryKey:
raise RuntimeError('Primary key not found.')
for k in mappings.keys():
attrs.pop(k)
escaped_fields = list(map(lambda f: '`%s`' % f, fields))
attrs['__mappings__'] = mappings # 保存属性和列的映射关系
attrs['__table__'] = tableName
attrs['__primary_key__'] = primaryKey # 主键属性名
attrs['__fields__'] = fields # 除主键外的属性名
# 构造默认的SELECT, INSERT, UPDATE和DELETE语句:
attrs['__select__'] = 'select `%s`, %s from `%s`' % (primaryKey, ', '.join(escaped_fields), tableName)
attrs['__insert__'] = 'insert into `%s` (%s, `%s`) values (%s)' % (tableName, ', '.join(escaped_fields), primaryKey, create_args_string(len(escaped_fields) + 1))
attrs['__update__'] = 'update `%s` set %s where `%s`=?' % (tableName, ', '.join(map(lambda f: '`%s`=?' % (mappings.get(f).name or f), fields)), primaryKey)
attrs['__delete__'] = 'delete from `%s` where `%s`=?' % (tableName, primaryKey)
return type.__new__(cls, name, bases, attrs)
```
这样,任何继承自Model的类(比如User),会自动通过ModelMetaclass扫描映射关系,并存储到自身的类属性如`__table__`、`__mappings__`中。
然后,我们往Model类添加class方法,就可以让所有子类调用class方法:
```bash
class Model(dict):
...
@classmethod
@asyncio.coroutine
def find(cls, pk):
' find object by primary key. '
rs = yield from select('%s where `%s`=?' % (cls.__select__, cls.__primary_key__), [pk], 1)
if len(rs) == 0:
return None
return cls(**rs[0])
```
User类现在就可以通过类方法实现主键查找:
```bash
user = yield from User.find('123')
```
往Model类添加实例方法,就可以让所有子类调用实例方法:
```bash
class Model(dict):
...
@asyncio.coroutine
def save(self):
args = list(map(self.getValueOrDefault, self.__fields__))
args.append(self.getValueOrDefault(self.__primary_key__))
rows = yield from execute(self.__insert__, args)
if rows != 1:
logging.warn('failed to insert record: affected rows: %s' % rows)
```
这样,就可以把一个User实例存入数据库:
```
user = User(id=123, name='Michael')
yield from user.save()
```
最后一步是完善ORM,对于查找,我们可以实现以下方法:
* findAll() - 根据WHERE条件查找;
* findNumber() - 根据WHERE条件查找,但返回的是整数,适用于select count(*)类型的SQL。
以及update()和remove()方法。
所有这些方法都必须用@asyncio.coroutine装饰,变成一个协程。
调用时需要特别注意:
```
user.save()
```
没有任何效果,因为调用save()仅仅是创建了一个协程,并没有执行它。一定要用:
```
yield from user.save()
```
才真正执行了INSERT操作。
最后看看我们实现的ORM模块一共多少行代码?累计不到300多行。用Python写一个ORM是不是很容易呢?
!!参考源码
[[day-03|https://github.com/michaelliao/awesome-python3-webapp/tree/day-03]]
!Day 4 - 编写Model
有了ORM,我们就可以把Web App需要的3个表用Model表示出来:
```bash
import time, uuid
from orm import Model, StringField, BooleanField, FloatField, TextField
def next_id():
return '%015d%s000' % (int(time.time() * 1000), uuid.uuid4().hex)
class User(Model):
__table__ = 'users'
id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
email = StringField(ddl='varchar(50)')
passwd = StringField(ddl='varchar(50)')
admin = BooleanField()
name = StringField(ddl='varchar(50)')
image = StringField(ddl='varchar(500)')
created_at = FloatField(default=time.time)
class Blog(Model):
__table__ = 'blogs'
id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
user_id = StringField(ddl='varchar(50)')
user_name = StringField(ddl='varchar(50)')
user_image = StringField(ddl='varchar(500)')
name = StringField(ddl='varchar(50)')
summary = StringField(ddl='varchar(200)')
content = TextField()
created_at = FloatField(default=time.time)
class Comment(Model):
__table__ = 'comments'
id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
blog_id = StringField(ddl='varchar(50)')
user_id = StringField(ddl='varchar(50)')
user_name = StringField(ddl='varchar(50)')
user_image = StringField(ddl='varchar(500)')
content = TextField()
created_at = FloatField(default=time.time)
```
在编写ORM时,给一个Field增加一个default参数可以让ORM自己填入缺省值,非常方便。并且,缺省值可以作为函数对象传入,在调用save()时自动计算。
例如,主键id的缺省值是函数next_id,创建时间created_at的缺省值是函数time.time,可以自动设置当前日期和时间。
日期和时间用float类型存储在数据库中,而不是datetime类型,这么做的好处是不必关心数据库的时区以及时区转换问题,排序非常简单,显示的时候,只需要做一个float到str的转换,也非常容易。
!!初始化数据库表
如果表的数量很少,可以手写创建表的SQL脚本:
```bash
-- schema.sql
drop database if exists awesome;
create database awesome;
use awesome;
grant select, insert, update, delete on awesome.* to 'www-data'@'localhost' identified by 'www-data';
create table users (
`id` varchar(50) not null,
`email` varchar(50) not null,
`passwd` varchar(50) not null,
`admin` bool not null,
`name` varchar(50) not null,
`image` varchar(500) not null,
`created_at` real not null,
unique key `idx_email` (`email`),
key `idx_created_at` (`created_at`),
primary key (`id`)
) engine=innodb default charset=utf8;
create table blogs (
`id` varchar(50) not null,
`user_id` varchar(50) not null,
`user_name` varchar(50) not null,
`user_image` varchar(500) not null,
`name` varchar(50) not null,
`summary` varchar(200) not null,
`content` mediumtext not null,
`created_at` real not null,
key `idx_created_at` (`created_at`),
primary key (`id`)
) engine=innodb default charset=utf8;
create table comments (
`id` varchar(50) not null,
`blog_id` varchar(50) not null,
`user_id` varchar(50) not null,
`user_name` varchar(50) not null,
`user_image` varchar(500) not null,
`content` mediumtext not null,
`created_at` real not null,
key `idx_created_at` (`created_at`),
primary key (`id`)
) engine=innodb default charset=utf8;
```
如果表的数量很多,可以从Model对象直接通过脚本自动生成SQL脚本,使用更简单。
把SQL脚本放到MySQL命令行里执行:
```bash
$ mysql -u root -p < schema.sql
```
我们就完成了数据库表的初始化。
!!编写数据访问代码
接下来,就可以真正开始编写代码操作对象了。比如,对于User对象,我们就可以做如下操作:
```bash
import orm
from models import User, Blog, Comment
def test():
yield from orm.create_pool(user='www-data', password='www-data', database='awesome')
u = User(name='Test', email='test@example.com', passwd='1234567890', image='about:blank')
yield from u.save()
for x in test():
pass
```
可以在MySQL客户端命令行查询,看看数据是不是正常存储到MySQL里面了。
!!参考源码
[[day-04|https://github.com/michaelliao/awesome-python3-webapp/tree/day-04]]
!Day 5 - 编写Web框架
在正式开始Web开发前,我们需要编写一个Web框架。
aiohttp已经是一个Web框架了,为什么我们还需要自己封装一个?
原因是从使用者的角度来说,aiohttp相对比较底层,编写一个URL的处理函数需要这么几步:
第一步,编写一个用@asyncio.coroutine装饰的函数:
```bash
@asyncio.coroutine
def handle_url_xxx(request):
pass
```
第二步,传入的参数需要自己从request中获取:
```bash
url_param = request.match_info['key']
query_params = parse_qs(request.query_string)
```
最后,需要自己构造Response对象:
```bash
text = render('template', data)
return web.Response(text.encode('utf-8'))
```
这些重复的工作可以由框架完成。例如,处理带参数的URL/blog/{id}可以这么写:
```bash
@get('/blog/{id}')
def get_blog(id):
pass
```
处理query_string参数可以通过关键字参数**kw或者命名关键字参数接收:
```bash
@get('/api/comments')
def api_comments(*, page='1'):
pass
```
对于函数的返回值,不一定是web.Response对象,可以是str、bytes或dict。
如果希望渲染模板,我们可以这么返回一个dict:
```bash
return {
'__template__': 'index.html',
'data': '...'
}
```
因此,Web框架的设计是完全从使用者出发,目的是让使用者编写尽可能少的代码。
编写简单的函数而非引入request和web.Response还有一个额外的好处,就是可以单独测试,否则,需要模拟一个request才能测试。
!!@get和@post
要把一个函数映射为一个URL处理函数,我们先定义@get():
```bash
def get(path):
'''
Define decorator @get('/path')
'''
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
return func(*args, **kw)
wrapper.__method__ = 'GET'
wrapper.__route__ = path
return wrapper
return decorator
```
这样,一个函数通过@get()的装饰就附带了URL信息。
@post与@get定义类似。
!!定义RequestHandler
URL处理函数不一定是一个coroutine,因此我们用RequestHandler()来封装一个URL处理函数。
RequestHandler是一个类,由于定义了__call__()方法,因此可以将其实例视为函数。
RequestHandler目的就是从URL函数中分析其需要接收的参数,从request中获取必要的参数,调用URL函数,然后把结果转换为web.Response对象,这样,就完全符合aiohttp框架的要求:
```bash
class RequestHandler(object):
def __init__(self, app, fn):
self._app = app
self._func = fn
...
@asyncio.coroutine
def __call__(self, request):
kw = ... 获取参数
r = yield from self._func(**kw)
return r
```
再编写一个add_route函数,用来注册一个URL处理函数:
```bash
def add_route(app, fn):
method = getattr(fn, '__method__', None)
path = getattr(fn, '__route__', None)
if path is None or method is None:
raise ValueError('@get or @post not defined in %s.' % str(fn))
if not asyncio.iscoroutinefunction(fn) and not inspect.isgeneratorfunction(fn):
fn = asyncio.coroutine(fn)
logging.info('add route %s %s => %s(%s)' % (method, path, fn.__name__, ', '.join(inspect.signature(fn).parameters.keys())))
app.router.add_route(method, path, RequestHandler(app, fn))
```
最后一步,把很多次add_route()注册的调用:
```bash
add_route(app, handles.index)
add_route(app, handles.blog)
add_route(app, handles.create_comment)
...
```
变成自动扫描:
```bash
# 自动把handler模块的所有符合条件的函数注册了:
add_routes(app, 'handlers')
add_routes()定义如下:
def add_routes(app, module_name):
n = module_name.rfind('.')
if n == (-1):
mod = __import__(module_name, globals(), locals())
else:
name = module_name[n+1:]
mod = getattr(__import__(module_name[:n], globals(), locals(), [name]), name)
for attr in dir(mod):
if attr.startswith('_'):
continue
fn = getattr(mod, attr)
if callable(fn):
method = getattr(fn, '__method__', None)
path = getattr(fn, '__route__', None)
if method and path:
add_route(app, fn)
```
最后,在app.py中加入middleware、jinja2模板和自注册的支持:
```bash
app = web.Application(loop=loop, middlewares=[
logger_factory, response_factory
])
init_jinja2(app, filters=dict(datetime=datetime_filter))
add_routes(app, 'handlers')
add_static(app)
middleware
```
middleware是一种拦截器,一个URL在被某个函数处理前,可以经过一系列的middleware的处理。
一个middleware可以改变URL的输入、输出,甚至可以决定不继续处理而直接返回。middleware的用处就在于把通用的功能从每个URL处理函数中拿出来,集中放到一个地方。例如,一个记录URL日志的logger可以简单定义如下:
```bash
@asyncio.coroutine
def logger_factory(app, handler):
@asyncio.coroutine
def logger(request):
# 记录日志:
logging.info('Request: %s %s' % (request.method, request.path))
# 继续处理请求:
return (yield from handler(request))
return logger
```
而response这个middleware把返回值转换为web.Response对象再返回,以保证满足aiohttp的要求:
```bash
@asyncio.coroutine
def response_factory(app, handler):
@asyncio.coroutine
def response(request):
# 结果:
r = yield from handler(request)
if isinstance(r, web.StreamResponse):
return r
if isinstance(r, bytes):
resp = web.Response(body=r)
resp.content_type = 'application/octet-stream'
return resp
if isinstance(r, str):
resp = web.Response(body=r.encode('utf-8'))
resp.content_type = 'text/html;charset=utf-8'
return resp
if isinstance(r, dict):
...
```
有了这些基础设施,我们就可以专注地往handlers模块不断添加URL处理函数了,可以极大地提高开发效率。
参考源码
[[day-05|https://github.com/michaelliao/awesome-python3-webapp/tree/day-05]]
!Day 6 - 编写配置文件
有了Web框架和ORM框架,我们就可以开始装配App了。
通常,一个Web App在运行时都需要读取配置文件,比如数据库的用户名、口令等,在不同的环境中运行时,Web App可以通过读取不同的配置文件来获得正确的配置。
由于Python本身语法简单,完全可以直接用Python源代码来实现配置,而不需要再解析一个单独的.properties或者.yaml等配置文件。
默认的配置文件应该完全符合本地开发环境,这样,无需任何设置,就可以立刻启动服务器。
我们把默认的配置文件命名为config_default.py:
```bash
# config_default.py
configs = {
'db': {
'host': '127.0.0.1',
'port': 3306,
'user': 'www-data',
'password': 'www-data',
'database': 'awesome'
},
'session': {
'secret': 'AwEsOmE'
}
}
```
上述配置文件简单明了。但是,如果要部署到服务器时,通常需要修改数据库的host等信息,直接修改config_default.py不是一个好办法,更好的方法是编写一个config_override.py,用来覆盖某些默认设置:
```bash
# config_override.py
configs = {
'db': {
'host': '192.168.0.100'
}
}
```
把config_default.py作为开发环境的标准配置,把config_override.py作为生产环境的标准配置,我们就可以既方便地在本地开发,又可以随时把应用部署到服务器上。
应用程序读取配置文件需要优先从config_override.py读取。为了简化读取配置文件,可以把所有配置读取到统一的config.py中:
```bash
# config.py
configs = config_default.configs
try:
import config_override
configs = merge(configs, config_override.configs)
except ImportError:
pass
```
这样,我们就完成了App的配置。
!!参考源码
[[day-06|https://github.com/michaelliao/awesome-python3-webapp/tree/day-06]]
!Day 7 - 编写MVC
现在,ORM框架、Web框架和配置都已就绪,我们可以开始编写一个最简单的MVC,把它们全部启动起来。
通过Web框架的@get和ORM框架的Model支持,可以很容易地编写一个处理首页URL的函数:
```bash
@get('/')
def index(request):
users = yield from User.findAll()
return {
'__template__': 'test.html',
'users': users
}
```
`'__template__'`指定的模板文件是test.html,其他参数是传递给模板的数据,所以我们在模板的根目录templates下创建test.html:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test users - Awesome Python Webapp</title>
</head>
<body>
<h1>All users</h1>
{% for u in users %}
<p>{{ u.name }} / {{ u.email }}</p>
{% endfor %}
</body>
</html>
```
接下来,如果一切顺利,可以用命令行启动Web服务器:
```
$ python3 app.py
```
然后,在浏览器中访问http://localhost:9000/。
如果数据库的users表什么内容也没有,你就无法在浏览器中看到循环输出的内容。可以自己在MySQL的命令行里给users表添加几条记录,然后再访问:
[img[python67.jpg]]
参考源码
[[day-07|https://github.com/michaelliao/awesome-python3-webapp/tree/day-07]]
!Day 8 - 构建前端
虽然我们跑通了一个最简单的MVC,但是页面效果肯定不会让人满意。
对于复杂的HTML前端页面来说,我们需要一套基础的CSS框架来完成页面布局和基本样式。另外,jQuery作为操作DOM的JavaScript库也必不可少。
从零开始写CSS不如直接从一个已有的功能完善的CSS框架开始。有很多CSS框架可供选择。我们这次选择uikit这个强大的CSS框架。它具备完善的响应式布局,漂亮的UI,以及丰富的HTML组件,让我们能轻松设计出美观而简洁的页面。
可以从uikit首页下载打包的资源文件。
所有的静态资源文件我们统一放到www/static目录下,并按照类别归类:
```
static/
+- css/
| +- addons/
| | +- uikit.addons.min.css
| | +- uikit.almost-flat.addons.min.css
| | +- uikit.gradient.addons.min.css
| +- awesome.css
| +- uikit.almost-flat.addons.min.css
| +- uikit.gradient.addons.min.css
| +- uikit.min.css
+- fonts/
| +- fontawesome-webfont.eot
| +- fontawesome-webfont.ttf
| +- fontawesome-webfont.woff
| +- FontAwesome.otf
+- js/
+- awesome.js
+- html5.js
+- jquery.min.js
+- uikit.min.js
```
由于前端页面肯定不止首页一个页面,每个页面都有相同的页眉和页脚。如果每个页面都是独立的HTML模板,那么我们在修改页眉和页脚的时候,就需要把每个模板都改一遍,这显然是没有效率的。
常见的模板引擎已经考虑到了页面上重复的HTML部分的复用问题。有的模板通过include把页面拆成三部分:
<html>
<% include file="inc_header.html" %>
<% include file="index_body.html" %>
<% include file="inc_footer.html" %>
</html>
这样,相同的部分inc_header.html和inc_footer.html就可以共享。
但是include方法不利于页面整体结构的维护。jinjia2的模板还有另一种“继承”方式,实现模板的复用更简单。
“继承”模板的方式是通过编写一个“父模板”,在父模板中定义一些可替换的block(块)。然后,编写多个“子模板”,每个子模板都可以只替换父模板定义的block。比如,定义一个最简单的父模板:
```
<!-- base.html -->
<html>
<head>
<title>{% block title%} 这里定义了一个名为title的block {% endblock %}</title>
</head>
<body>
{% block content %} 这里定义了一个名为content的block {% endblock %}
</body>
</html>
```
对于子模板a.html,只需要把父模板的title和content替换掉:
```
{% extends 'base.html' %}
{% block title %} A {% endblock %}
{% block content %}
<h1>Chapter A</h1>
<p>blablabla...</p>
{% endblock %}
```
对于子模板b.html,如法炮制:
```bash
{% extends 'base.html' %}
{% block title %} B {% endblock %}
{% block content %}
<h1>Chapter B</h1>
<ul>
<li>list 1</li>
<li>list 2</li>
</ul>
{% endblock %}
```
这样,一旦定义好父模板的整体布局和CSS样式,编写子模板就会非常容易。
让我们通过uikit这个CSS框架来完成父模板`__base__.html`的编写:
```bash
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
{% block meta %}<!-- block meta -->{% endblock %}
<title>{% block title %} ? {% endblock %} - Awesome Python Webapp</title>
<link rel="stylesheet" href="/static/css/uikit.min.css">
<link rel="stylesheet" href="/static/css/uikit.gradient.min.css">
<link rel="stylesheet" href="/static/css/awesome.css" />
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/md5.js"></script>
<script src="/static/js/uikit.min.js"></script>
<script src="/static/js/awesome.js"></script>
{% block beforehead %}<!-- before head -->{% endblock %}
</head>
<body>
<nav class="uk-navbar uk-navbar-attached uk-margin-bottom">
<div class="uk-container uk-container-center">
<a href="/" class="uk-navbar-brand">Awesome</a>
<ul class="uk-navbar-nav">
<li data-url="blogs"><a href="/"><i class="uk-icon-home"></i> 日志</a></li>
<li><a target="_blank" href="#"><i class="uk-icon-book"></i> 教程</a></li>
<li><a target="_blank" href="#"><i class="uk-icon-code"></i> 源码</a></li>
</ul>
<div class="uk-navbar-flip">
<ul class="uk-navbar-nav">
{% if user %}
<li class="uk-parent" data-uk-dropdown>
<a href="#0"><i class="uk-icon-user"></i> {{ user.name }}</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="/signout"><i class="uk-icon-sign-out"></i> 登出</a></li>
</ul>
</div>
</li>
{% else %}
<li><a href="/signin"><i class="uk-icon-sign-in"></i> 登陆</a></li>
<li><a href="/register"><i class="uk-icon-edit"></i> 注册</a></li>
{% endif %}
</ul>
</div>
</div>
</nav>
<div class="uk-container uk-container-center">
<div class="uk-grid">
<!-- content -->
{% block content %}
{% endblock %}
<!-- // content -->
</div>
</div>
<div class="uk-margin-large-top" style="background-color:#eee; border-top:1px solid #ccc;">
<div class="uk-container uk-container-center uk-text-center">
<div class="uk-panel uk-margin-top uk-margin-bottom">
<p>
<a target="_blank" href="#" class="uk-icon-button uk-icon-weibo"></a>
<a target="_blank" href="#" class="uk-icon-button uk-icon-github"></a>
<a target="_blank" href="#" class="uk-icon-button uk-icon-linkedin-square"></a>
<a target="_blank" href="#" class="uk-icon-button uk-icon-twitter"></a>
</p>
<p>Powered by <a href="#">Awesome Python Webapp</a>. Copyright © 2014. [<a href="/manage/" target="_blank">Manage</a>]</p>
<p><a href="http://www.liaoxuefeng.com/" target="_blank">www.liaoxuefeng.com</a>. All rights reserved.</p>
<a target="_blank" href="#"><i class="uk-icon-html5" style="font-size:64px; color: #444;"></i></a>
</div>
</div>
</div>
</body>
</html>
```
`__base__.html`定义的几个block作用如下:
用于子页面定义一些meta,例如rss feed:
```
{% block meta %} ... {% endblock %}
```
覆盖页面的标题:
```
{% block title %} ... {% endblock %}
```
子页面可以在`<head>`标签关闭前插入JavaScript代码:
```
{% block beforehead %} ... {% endblock %}
```
子页面的content布局和内容:
```
{% block content %}
...
{% endblock %}
```
我们把首页改造一下,从`__base__.html`继承一个blogs.html:
```
{% extends '__base__.html' %}
{% block title %}日志{% endblock %}
{% block content %}
<div class="uk-width-medium-3-4">
{% for blog in blogs %}
<article class="uk-article">
<h2><a href="/blog/{{ blog.id }}">{{ blog.name }}</a></h2>
<p class="uk-article-meta">发表于{{ blog.created_at}}</p>
<p>{{ blog.summary }}</p>
<p><a href="/blog/{{ blog.id }}">继续阅读 <i class="uk-icon-angle-double-right"></i></a></p>
</article>
<hr class="uk-article-divider">
{% endfor %}
</div>
<div class="uk-width-medium-1-4">
<div class="uk-panel uk-panel-header">
<h3 class="uk-panel-title">友情链接</h3>
<ul class="uk-list uk-list-line">
<li><i class="uk-icon-thumbs-o-up"></i> <a target="_blank" href="#">编程</a></li>
<li><i class="uk-icon-thumbs-o-up"></i> <a target="_blank" href="#">读书</a></li>
<li><i class="uk-icon-thumbs-o-up"></i> <a target="_blank" href="#">Python教程</a></li>
<li><i class="uk-icon-thumbs-o-up"></i> <a target="_blank" href="#">Git教程</a></li>
</ul>
</div>
</div>
{% endblock %}
```
相应地,首页URL的处理函数更新如下:
```bash
@get('/')
def index(request):
summary = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
blogs = [
Blog(id='1', name='Test Blog', summary=summary, created_at=time.time()-120),
Blog(id='2', name='Something New', summary=summary, created_at=time.time()-3600),
Blog(id='3', name='Learn Swift', summary=summary, created_at=time.time()-7200)
]
return {
'__template__': 'blogs.html',
'blogs': blogs
}
```
Blog的创建日期显示的是一个浮点数,因为它是由这段模板渲染出来的:
```
<p class="uk-article-meta">发表于{{ blog.created_at }}</p>
```
解决方法是通过jinja2的filter(过滤器),把一个浮点数转换成日期字符串。我们来编写一个datetime的filter,在模板里用法如下:
```bash
<p class="uk-article-meta">发表于{{ blog.created_at|datetime }}</p>
```
filter需要在初始化jinja2时设置。相关代码如下:
```bash
def datetime_filter(t):
delta = int(time.time() - t)
if delta < 60:
return '1分钟前'
if delta < 3600:
return '%s分钟前' % (delta // 60)
if delta < 86400:
return '%s小时前' % (delta // 3600)
if delta < 604800:
return '%s天前' % (delta // 86400)
dt = datetime.fromtimestamp(t)
return '%s年%s月%s日' % (dt.year, dt.month, dt.day)
...
init_jinja2(app, filters=dict(datetime=datetime_filter))
...
```
现在,完善的首页显示如下:
[img[python68.jpg]]
!!参考源码
[[day-08|https://github.com/michaelliao/awesome-python3-webapp/tree/day-08]]
Day 9 - 编写API
自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。
什么是Web API呢?
如果我们想要获取一篇Blog,输入`http://localhost:9000/blog/123`,就可以看到id为123的Blog页面,但这个结果是HTML页面,它同时混合包含了Blog的数据和Blog的展示两个部分。对于用户来说,阅读起来没有问题,但是,如果机器读取,就很难从HTML中解析出Blog的数据。
如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API。比如,读取http://localhost:9000/api/blogs/123,如果能直接返回Blog的数据,那么机器就可以直接读取。
REST就是一种设计API的模式。最常用的数据格式是JSON。由于JSON能直接被JavaScript读取,所以,以JSON格式编写的REST风格的API具有简单、易读、易用的特点。
编写API有什么好处呢?由于API就是把Web App的功能全部封装了,所以,通过API操作数据,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。
一个API也是一个URL的处理函数,我们希望能直接通过一个@api来把函数变成JSON格式的REST API,这样,获取注册用户可以用一个API实现如下:
```bash
@get('/api/users')
def api_get_users(*, page='1'):
page_index = get_page_index(page)
num = yield from User.findNumber('count(id)')
p = Page(num, page_index)
if num == 0:
return dict(page=p, users=())
users = yield from User.findAll(orderBy='created_at desc', limit=(p.offset, p.limit))
for u in users:
u.passwd = '******'
return dict(page=p, users=users)
```
只要返回一个dict,后续的response这个middleware就可以把结果序列化为JSON并返回。
我们需要对Error进行处理,因此定义一个APIError,这种Error是指API调用时发生了逻辑错误(比如用户不存在),其他的Error视为Bug,返回的错误代码为internalerror。
客户端调用API时,必须通过错误代码来区分API调用是否成功。错误代码是用来告诉调用者出错的原因。很多API用一个整数表示错误码,这种方式很难维护错误码,客户端拿到错误码还需要查表得知错误信息。更好的方式是用字符串表示错误代码,不需要看文档也能猜到错误原因。
可以在浏览器直接测试API,例如,输入`http://localhost:9000/api/users`,就可以看到返回的JSON:
[img[python69.png]]
!!参考源码
[[day-09|https://github.com/michaelliao/awesome-python3-webapp/tree/day-09]]
!FAQ常见问题
本节列出常见的一些问题。
如何获取当前路径
当前路径可以用'.'表示,再用os.path.abspath()将其转换为绝对路径:
```bash
# -*- coding:utf-8 -*-
# test.py
import os
print(os.path.abspath('.'))
```
运行结果:
```bash
$ python3 test.py
/Users/michael/workspace/testing
```
!!如何获取当前模块的文件名
可以通过特殊变量`__file__`获取:
```bash
# -*- coding:utf-8 -*-
# test.py
print(__file__)
```
输出:
```bash
$ python3 test.py
test.py
```
!!如何获取命令行参数
可以通过sys模块的argv获取:
```bash
# -*- coding:utf-8 -*-
# test.py
import sys
print(sys.argv)
```
输出:
```bash
$ python3 test.py -a -s "Hello world"
['test.py', '-a', '-s', 'Hello world']
```
argv的第一个元素永远是命令行执行的.py文件名。
如何获取当前Python命令的可执行文件路径
sys模块的executable变量就是Python命令可执行文件的路径:
```bash
# -*- coding:utf-8 -*-
# test.py
import sys
print(sys.executable)
```
在Mac下的结果:
```bash
$ python3 test.py
/usr/local/opt/python3/bin/python3.4
```
!filter
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
例如,在一个list中,删掉偶数,只保留奇数,可以这么写:
```bash
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
# 结果: [1, 5, 9, 15]
把一个序列中的空字符串删掉,可以这么写:
def not_empty(s):
return s and s.strip()
list(filter(not_empty, ['A', '', 'B', None, 'C', ' ']))
# 结果: ['A', 'B', 'C']
```
可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。
注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
!!用filter求素数
计算素数的一个方法是埃氏筛法,它的算法理解起来非常简单:
首先,列出从2开始的所有自然数,构造一个序列:
```
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...
```
取序列的第一个数2,它一定是素数,然后用2把序列的2的倍数筛掉:
```
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...
```
取新序列的第一个数3,它一定是素数,然后用3把序列的3的倍数筛掉:
```
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...
```
取新序列的第一个数5,然后用5把序列的5的倍数筛掉:
```
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...
```
不断筛下去,就可以得到所有的素数。
用Python来实现这个算法,可以先构造一个从3开始的奇数序列:
```bash
def _odd_iter():
n = 1
while True:
n = n + 2
yield n
```
注意这是一个生成器,并且是一个无限序列。
然后定义一个筛选函数:
```bash
def _not_divisible(n):
return lambda x: x % n > 0
```
最后,定义一个生成器,不断返回下一个素数:
```bash
def primes():
yield 2
it = _odd_iter() # 初始序列
while True:
n = next(it) # 返回序列的第一个数
yield n
it = filter(_not_divisible(n), it) # 构造新序列
```
这个生成器先返回第一个素数2,然后,利用filter()不断产生筛选后的新的序列。
由于primes()也是一个无限序列,所以调用时需要设置一个退出循环的条件:
```bash
# 打印1000以内的素数:
for n in primes():
if n < 1000:
print(n)
else:
break
```
注意到Iterator是惰性计算的序列,所以我们可以用Python表示“全体自然数”,“全体素数”这样的序列,而代码非常简洁。
!!练习
回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数:
```bash
# -*- coding: utf-8 -*-
def is_palindrome(n):
pass
# 测试:
output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))
if list(filter(is_palindrome, range(1, 200))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]:
print('测试成功!')
else:
print('测试失败!')
```
!!小结
filter()的作用是从一个序列中筛出符合条件的元素。由于filter()使用了惰性计算,所以只有在取filter()结果的时候,才会真正筛选并每次返回下一个筛出的元素。
!!参考源码
[[do_filter.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/do_filter.py]]
[[prime_numbers.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/prime_numbers.py]]
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
!摘要算法简介
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,并发表为'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因为根据'how to use python hashlib - by Bob'计算出的摘要不同于原始文章的摘要。
可见,摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。
摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。
我们以常见的摘要算法MD5为例,计算出一个字符串的MD5值:
```bash
import hashlib
md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?'.encode('utf-8'))
print(md5.hexdigest())
```
计算结果如下:
```
d26a53750bc40b38b65a520292f69306
```
如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的:
```bash
import hashlib
md5 = hashlib.md5()
md5.update('how to use md5 in '.encode('utf-8'))
md5.update('python hashlib?'.encode('utf-8'))
print(md5.hexdigest())
```
试试改动一个字母,看看计算的结果是否完全不同。
MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。
另一种常见的摘要算法是SHA1,调用SHA1和调用MD5完全类似:
```bash
import hashlib
sha1 = hashlib.sha1()
sha1.update('how to use sha1 in '.encode('utf-8'))
sha1.update('python hashlib?'.encode('utf-8'))
print(sha1.hexdigest())
```
SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。
比SHA1更安全的算法是SHA256和SHA512,不过越安全的算法不仅越慢,而且摘要长度更长。
有没有可能两个不同的数据通过某个摘要算法得到了相同的摘要?完全有可能,因为任何摘要算法都是把无限多的数据集合映射到一个有限的集合中。这种情况称为碰撞,比如Bob试图根据你的摘要反推出一篇文章'how to learn hashlib in python - by Bob',并且这篇文章的摘要恰好和你的文章完全一致,这种情况也并非不可能出现,但是非常非常困难。
!!摘要算法应用
摘要算法能应用到什么地方?举个常用例子:
任何允许用户登录的网站都会存储用户登录的用户名和口令。如何存储用户名和口令呢?方法是存到数据库表中:
|name |password|
|michael |123456|
|bob |abc999|
|alice |alice2008|
如果以明文保存用户口令,如果数据库泄露,所有用户的口令就落入黑客的手里。此外,网站运维人员是可以访问数据库的,也就是能获取到所有用户的口令。
正确的保存口令的方式是不存储用户的明文口令,而是存储用户口令的摘要,比如MD5:
|username |password|
|michael |e10adc3949ba59abbe56e057f20f883e|
|bob |878ef96e86145580c38c87f0410ad153|
|alice| 99b1c2188db85afee403b1536010c2c9|
当用户登录时,首先计算用户输入的明文口令的MD5,然后和数据库存储的MD5对比,如果一致,说明口令输入正确,如果不一致,口令肯定错误。
!!练习
根据用户输入的口令,计算出存储在数据库中的MD5口令:
```bash
def calc_md5(password):
pass
```
存储MD5的好处是即使运维人员能访问数据库,也无法获知用户的明文口令。
设计一个验证用户登录的函数,根据用户输入的口令是否正确,返回True或False:
```bash
# -*- coding: utf-8 -*-
db = {
'michael': 'e10adc3949ba59abbe56e057f20f883e',
'bob': '878ef96e86145580c38c87f0410ad153',
'alice': '99b1c2188db85afee403b1536010c2c9'
}
def login(user, password):
pass
# 测试:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')
```
采用MD5存储口令是否就一定安全呢?也不一定。假设你是一个黑客,已经拿到了存储MD5口令的数据库,如何通过MD5反推用户的明文口令呢?暴力破解费事费力,真正的黑客不会这么干。
考虑这么个情况,很多用户喜欢用123456,888888,password这些简单的口令,于是,黑客可以事先计算出这些常用口令的MD5值,得到一个反推表:
```
'e10adc3949ba59abbe56e057f20f883e': '123456'
'21218cca77804d2ba1922c33e0151105': '888888'
'5f4dcc3b5aa765d61d8327deb882cf99': 'password'
```
这样,无需破解,只需要对比数据库的MD5,黑客就获得了使用常用口令的用户账号。
对于用户来讲,当然不要使用过于简单的口令。但是,我们能否在程序设计上对简单口令加强保护呢?
由于常用口令的MD5值很容易被计算出来,所以,要确保存储的用户口令不是那些已经被计算出来的常用口令的MD5,这一方法通过对原始口令加一个复杂字符串来实现,俗称“加盐”:
```bash
def calc_md5(password):
return get_md5(password + 'the-Salt')
```
经过Salt处理的MD5口令,只要Salt不被黑客知道,即使用户输入简单口令,也很难通过MD5反推明文口令。
但是如果有两个用户都使用了相同的简单口令比如123456,在数据库中,将存储两条相同的MD5值,这说明这两个用户的口令是一样的。有没有办法让使用相同口令的用户存储不同的MD5呢?
如果假定用户无法修改登录名,就可以通过把登录名作为Salt的一部分来计算MD5,从而实现相同口令的用户也存储不同的MD5。
!!练习
根据用户输入的登录名和口令模拟用户注册,计算更安全的MD5:
```bash
db = {}
def register(username, password):
db[username] = get_md5(password + username + 'the-Salt')
```
然后,根据修改后的MD5算法实现用户登录的验证:
```bash
# -*- coding: utf-8 -*-
import hashlib, random
def get_md5(s):
return hashlib.md5(s.encode('utf-8')).hexdigest()
class User(object):
def __init__(self, username, password):
self.username = username
self.salt = ''.join([chr(random.randint(48, 122)) for i in range(20)])
self.password = get_md5(password + self.salt)
db = {
'michael': User('michael', '123456'),
'bob': User('bob', 'abc999'),
'alice': User('alice', 'alice2008')
}
def login(username, password):
user = db[username]
return user.password == get_md5(password)
# 测试:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')
```
!!小结
摘要算法在很多地方都有广泛的应用。要注意摘要算法不是加密算法,不能用于加密(因为无法通过摘要反推明文),只能用于防篡改,但是它的单向计算特性决定了可以在不存储明文口令的情况下验证用户口令。
!!参考源码
[[use_hashlib.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_hashlib.py]]
!hmac
通过哈希算法,我们可以验证一段数据是否有效,方法就是对比该数据的哈希值,例如,判断用户口令是否正确,我们用保存在数据库中的password_md5对比计算md5(password)的结果,如果一致,用户输入的口令就是正确的。
为了防止黑客通过彩虹表根据哈希值反推原始口令,在计算哈希的时候,不能仅针对原始输入计算,需要增加一个salt来使得相同的输入也能得到不同的哈希,这样,大大增加了黑客破解的难度。
如果salt是我们自己随机生成的,通常我们计算MD5时采用md5(message + salt)。但实际上,把salt看做一个“口令”,加salt的哈希就是:计算一段message的哈希时,根据不通口令计算出不同的哈希。要验证哈希值,必须同时提供正确的口令。
这实际上就是Hmac算法:Keyed-Hashing for Message Authentication。它通过一个标准算法,在计算哈希的过程中,把key混入计算过程中。
和我们自定义的加salt算法不同,Hmac算法针对所有哈希算法都通用,无论是MD5还是SHA-1。采用Hmac替代我们自己的salt算法,可以使程序算法更标准化,也更安全。
Python自带的hmac模块实现了标准的Hmac算法。我们来看看如何使用hmac实现带key的哈希。
我们首先需要准备待计算的原始消息message,随机key,哈希算法,这里采用MD5,使用hmac的代码如下:
```bash
>>> import hmac
>>> message = b'Hello, world!'
>>> key = b'secret'
>>> h = hmac.new(key, message, digestmod='MD5')
>>> # 如果消息很长,可以多次调用h.update(msg)
>>> h.hexdigest()
'fa4ee7d173f2d97ee79022d1a7355bcf'
```
可见使用hmac和普通hash算法非常类似。hmac输出的长度和原始哈希算法的长度一致。需要注意传入的key和message都是bytes类型,str类型需要首先编码为bytes。
!!练习
将上一节的salt改为标准的hmac算法,验证用户口令:
```bash
# -*- coding: utf-8 -*-
import hmac, random
def hmac_md5(key, s):
return hmac.new(key.encode('utf-8'), s.encode('utf-8'), 'MD5').hexdigest()
class User(object):
def __init__(self, username, password):
self.username = username
self.key = ''.join([chr(random.randint(48, 122)) for i in range(20)])
self.password = hmac_md5(self.key, password)
db = {
'michael': User('michael', '123456'),
'bob': User('bob', 'abc999'),
'alice': User('alice', 'alice2008')
}
def login(username, password):
user = db[username]
return user.password == hmac_md5(user.key, password)
# 测试:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')
```
!!小结
Python内置的hmac模块实现了标准的Hmac算法,它利用一个key对message计算“杂凑”后的hash,使用hmac算法比标准hash算法更安全,因为针对相同的message,不同的key会产生不同的hash。
Python学习手册
---
本文件来自:http://www.bolebook.com/python/learnpythonwithlxf
另外,你可能还需要知道:
[[编辑示范说明|编辑示范说明]]
[[文档使用指南]]
---
建议内容创作者发布内容时,在首页的下方发布内容分享声明,具体第几种可以根据需要复制修改即可。
本文件采用[[内容分享声明|内容分享声明]]中的第一种声明:
[[署名-相同方式分享-维权代理|内容分享声明]]
HTML简介
网页就是HTML?这么理解大概没错。因为网页中不但包含文字,还有图片、视频、Flash小游戏,有复杂的排版、动画效果,所以,HTML定义了一套语法规则,来告诉浏览器如何把一个丰富多彩的页面显示出来。
HTML长什么样?上次我们看了新浪首页的HTML源码,如果仔细数数,竟然有6000多行!
所以,学HTML,就不要指望从新浪入手了。我们来看看最简单的HTML长什么样:
```bash
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
```
可以用文本编辑器编写HTML,然后保存为hello.html,双击或者把文件拖到浏览器中,就可以看到效果:
[img[python48.jpeg]]
HTML文档就是一系列的Tag组成,最外层的Tag是`<html>`。规范的HTML也包含`<head>...</head>`和`<body>...</body>`(注意不要和HTTP的Header、Body搞混了),由于HTML是富文档模型,所以,还有一系列的Tag用来表示链接、图片、表格、表单等等。
!!CSS简介
CSS是Cascading Style Sheets(层叠样式表)的简称,CSS用来控制HTML里的所有元素如何展现,比如,给标题元素`<h1>`加一个样式,变成48号字体,灰色,带阴影:
```bash
<html>
<head>
<title>Hello</title>
<style>
h1 {
color: #333333;
font-size: 48px;
text-shadow: 3px 3px 3px #666666;
}
</style>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
```
效果如下:
[img[python49.jpeg]]
!!JavaScript简介
JavaScript虽然名称有个Java,但它和Java真的一点关系没有。JavaScript是为了让HTML具有交互性而作为脚本语言添加的,JavaScript既可以内嵌到HTML中,也可以从外部链接到HTML中。如果我们希望当用户点击标题时把标题变成红色,就必须通过JavaScript来实现:
```bash
<html>
<head>
<title>Hello</title>
<style>
h1 {
color: #333333;
font-size: 48px;
text-shadow: 3px 3px 3px #666666;
}
</style>
<script>
function change() {
document.getElementsByTagName('h1')[0].style.color = '#ff0000';
}
</script>
</head>
<body>
<h1 onclick="change()">Hello, world!</h1>
</body>
</html>
```
点击标题后效果如下:
[img[python50.jpeg]]
!!小结
如果要学习Web开发,首先要对HTML、CSS和JavaScript作一定的了解。HTML定义了页面的内容,CSS来控制页面元素的样式,而JavaScript负责页面的交互逻辑。
讲解HTML、CSS和JavaScript就可以写3本书,对于优秀的Web开发人员来说,精通HTML、CSS和JavaScript是必须的,这里推荐一个在线学习网站w3schools:
http://www.w3schools.com/
以及一个对应的中文版本:
http://www.w3school.com.cn/
当我们用Python或者其他语言开发Web应用时,我们就是要在服务器端动态创建出HTML,这样,浏览器就会向不同的用户显示出不同的Web页面。
!HTMLParser
如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。
假设第一步已经完成了,第二步应该如何解析HTML呢?
HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,所以不能用标准的DOM或SAX来解析HTML。
好在Python提供了HTMLParser来非常方便地解析HTML,只需简单几行代码:
```bash
from html.parser import HTMLParser
from html.entities import name2codepoint
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print('<%s>' % tag)
def handle_endtag(self, tag):
print('</%s>' % tag)
def handle_startendtag(self, tag, attrs):
print('<%s/>' % tag)
def handle_data(self, data):
print(data)
def handle_comment(self, data):
print('<!--', data, '-->')
def handle_entityref(self, name):
print('&%s;' % name)
def handle_charref(self, name):
print('&#%s;' % name)
parser = MyHTMLParser()
parser.feed('''<html>
<head></head>
<body>
<!-- test html parser -->
<p>Some <a href=\"#\">html</a> HTML tutorial...<br>END</p>
</body></html>''')
```
feed()方法可以多次调用,也就是不一定一次把整个HTML字符串都塞进去,可以一部分一部分塞进去。
特殊字符有两种,一种是英文表示的 ,一种是数字表示的Ӓ,这两种字符都可以通过Parser解析出来。
!!小结
利用HTMLParser,可以把网页中的文本、图像等解析出来。
!!练习
找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间、名称和地点。
!!参考源码
[[use_htmlparser.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_htmlparser.py]]
!HTTP协议简介
在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:
*HTML是一种用来定义网页的文本,会HTML,就可以编写网页;
*HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。
在举例子之前,我们需要安装Google的Chrome浏览器。
为什么要使用Chrome浏览器而不是IE呢?因为IE实在是太慢了,并且,IE对于开发和调试Web应用程序完全是一点用也没有。
我们需要在浏览器很方便地调试我们的Web应用,而Chrome提供了一套完整地调试工具,非常适合Web开发。
安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图”,“开发者”,“开发者工具”,就可以显示开发者工具:
[img[python43.jpeg]]
Elements显示网页的结构,Network显示浏览器和服务器的通信。我们点Network,确保第一个小红灯亮着,Chrome就会记录所有浏览器和服务器之间的通信:
[img[python44.jpeg]]
当我们在地址栏输入`www.sina.com.cn`时,浏览器将显示新浪的首页。在这个过程中,浏览器都干了哪些事情呢?通过Network的记录,我们就可以知道。在Network中,定位到第一条记录,点击,右侧将显示Request Headers,点击右侧的view source,我们就可以看到浏览器发给新浪服务器的请求:
[img[python45.jpeg]]
最主要的头两行分析如下,第一行:
```
GET / HTTP/1.1
```
GET表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,URL总是以/开头,/就表示首页,最后的HTTP/1.1指示采用的HTTP协议版本是1.1。目前HTTP协议的版本就是1.1,但是大部分服务器也支持1.0版本,主要区别在于1.1版本允许多个HTTP请求复用一个TCP连接,以加快传输速度。
从第二行开始,每一行都类似于`Xxx: abcdefg`:
```
Host: www.sina.com.cn
```
表示请求的域名是www.sina.com.cn。如果一台服务器有多个网站,服务器就需要通过Host来区分浏览器请求的是哪个网站。
继续往下找到Response Headers,点击view source,显示服务器返回的原始响应数据:
[img[python46.jpeg]]
HTTP响应分为Header和Body两部分(Body是可选项),我们在Network中看到的Header最重要的几行如下:
```bash
200 OK
```
200表示一个成功的响应,后面的OK是说明。失败的响应有404 Not Found:网页不存在,500 Internal Server Error:服务器内部出错,等等。
```bash
Content-Type: text/html
```
Content-Type指示响应的内容,这里是text/html表示HTML网页。请注意,浏览器就是依靠Content-Type来判断响应的内容是网页还是图片,是视频还是音乐。浏览器并不靠URL来判断响应的内容,所以,即使URL是http://example.com/abc.jpg,它也不一定就是图片。
HTTP响应的Body就是HTML源码,我们在菜单栏选择“视图”,“开发者”,“查看网页源码”就可以在浏览器中直接查看HTML源码:
[img[python47.jpeg]]
当浏览器读取到新浪首页的HTML源码后,它会解析HTML,显示页面,然后,根据HTML里面的各种链接,再发送HTTP请求给新浪服务器,拿到相应的图片、视频、Flash、JavaScript脚本、CSS等各种资源,最终显示出一个完整的页面。所以我们在Network下面能看到很多额外的HTTP请求。
!!HTTP请求
跟踪了新浪的首页,我们来总结一下HTTP请求的流程:
步骤1:浏览器首先向服务器发送HTTP请求,请求包括:
方法:GET还是POST,GET仅请求资源,POST会附带用户数据;
路径:/full/url/path;
域名:由Host头指定:`Host: www.sina.com.cn`
以及其他相关的Header;
如果是POST,那么请求还包括一个Body,包含用户数据。
步骤2:服务器向浏览器返回HTTP响应,响应包括:
响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误;
响应类型:由Content-Type指定;
以及其他相关的Header;
通常服务器的HTTP响应会携带内容,也就是有一个Body,包含响应的内容,网页的HTML源码就在Body中。
步骤3:如果浏览器还需要继续向服务器请求其他资源,比如图片,就再次发出HTTP请求,重复步骤1、2。
Web采用的HTTP协议采用了非常简单的请求-响应模式,从而大大简化了开发。当我们编写一个页面时,我们只需要在HTTP请求中把HTML发送出去,不需要考虑如何附带图片、视频等,浏览器如果需要请求图片和视频,它会发送另一个HTTP请求,因此,一个HTTP请求只处理一个资源。
HTTP协议同时具备极强的扩展性,虽然浏览器请求的是http://www.sina.com.cn/的首页,但是新浪在HTML中可以链入其他服务器的资源,比如`<img src="http://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png">`,即:<img src="http://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png">,从而将请求压力分散到各个服务器上,并且,一个站点可以链接到其他站点,无数个站点互相链接起来,就形成了World Wide Web,简称WWW。
!!HTTP格式
每个HTTP请求和响应都遵循相同的格式,一个HTTP包含Header和Body两部分,其中Body是可选的。
HTTP协议是一种文本协议,所以,它的格式也非常简单。HTTP GET请求的格式:
```
GET /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
```
每个Header一行一个,换行符是\r\n。
HTTP POST请求的格式:
POST /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
body data goes here...
当遇到连续两个\r\n时,Header部分结束,后面的数据全部是Body。
HTTP响应的格式:
```
200 OK
Header1: Value1
Header2: Value2
Header3: Value3
body data goes here...
```
HTTP响应如果包含body,也是通过\r\n\r\n来分隔的。请再次注意,Body的数据类型由Content-Type头来确定,如果是网页,Body就是文本,如果是图片,Body就是图片的二进制数据。
当存在Content-Encoding时,Body数据是被压缩的,最常见的压缩方式是gzip,所以,看到Content-Encoding: gzip时,需要将Body数据先解压缩,才能得到真正的数据。压缩的目的在于减少Body的大小,加快网络传输。
要详细了解HTTP协议,推荐“[[HTTP: The Definitive Guide|http://shop.oreilly.com/product/9781565925090.do]]”一书,非常不错,有中文译本:
HTTP权威指南|http://t.cn/R7FguRq]]
IO编程
IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。
比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,随后新浪服务器把网页发过来,这个动作是从外面接收数据,叫Input。所以,通常,程序完成IO操作会有Input和Output两个数据流。当然也有只用一个的情况,比如,从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作。
IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动。Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。对于浏览网页来说,浏览器和新浪服务器之间至少需要建立两根水管,才可以既能发数据,又能收数据。
由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题。举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可能需要10秒,怎么办呢?有两种办法:
第一种是CPU等着,也就是程序暂停执行后续代码,等100M的数据在10秒后写入磁盘,再接着往下执行,这种模式称为同步IO;
另一种方法是CPU不等待,只是告诉磁盘,“您老慢慢写,不着急,我接着干别的事去了”,于是,后续代码可以立刻接着执行,这种模式称为异步IO。
同步和异步的区别就在于是否等待IO执行的结果。好比你去麦当劳点餐,你说“来个汉堡”,服务员告诉你,对不起,汉堡要现做,需要等5分钟,于是你站在收银台前面等了5分钟,拿到汉堡再去逛商场,这是同步IO。
你说“来个汉堡”,服务员告诉你,汉堡需要等5分钟,你可以先去逛商场,等做好了,我们再通知你,这样你可以立刻去干别的事情(逛商场),这是异步IO。
很明显,使用异步IO来编写程序性能会远远高于同步IO,但是异步IO的缺点是编程模型复杂。想想看,你得知道什么时候通知你“汉堡做好了”,而通知你的方法也各不相同。如果是服务员跑过来找到你,这是回调模式,如果服务员发短信通知你,你就得不停地检查手机,这是轮询模式。总之,异步IO的复杂度远远高于同步IO。
操作IO的能力都是由操作系统提供的,每一种编程语言都会把操作系统提供的低级C接口封装起来方便使用,Python也不例外。我们后面会详细讨论Python的IO编程接口。
注意,本章的IO编程都是同步模式,异步IO由于复杂度太高,后续涉及到服务器端程序开发时我们再讨论。
!itertools
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。
首先,我们看看itertools提供的几个“无限”迭代器:
```bash
>>> import itertools
>>> natuals = itertools.count(1)
>>> for n in natuals:
... print(n)
...
1
2
3
...
```
因为count()会创建一个无限的迭代器,所以上述代码会打印出自然数序列,根本停不下来,只能按Ctrl+C退出。
cycle()会把传入的一个序列无限重复下去:
```bash
>>> import itertools
>>> cs = itertools.cycle('ABC') # 注意字符串也是序列的一种
>>> for c in cs:
... print(c)
...
'A'
'B'
'C'
'A'
'B'
'C'
...
```
同样停不下来。
repeat()负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定重复次数:
```bash
>>> ns = itertools.repeat('A', 3)
>>> for n in ns:
... print(n)
...
A
A
A
```
无限序列只有在for迭代时才会无限地迭代下去,如果只是创建了一个迭代对象,它不会事先把无限个元素生成出来,事实上也不可能在内存中创建无限多个元素。
无限序列虽然可以无限迭代下去,但是通常我们会通过takewhile()等函数根据条件判断来截取出一个有限的序列:
```bash
>>> natuals = itertools.count(1)
>>> ns = itertools.takewhile(lambda x: x <= 10, natuals)
>>> list(ns)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
itertools提供的几个迭代器操作函数更加有用:
!!chain()
chain()可以把一组迭代对象串联起来,形成一个更大的迭代器:
```bash
>>> for c in itertools.chain('ABC', 'XYZ'):
... print(c)
# 迭代效果:'A' 'B' 'C' 'X' 'Y' 'Z'
```
!!groupby()
groupby()把迭代器中相邻的重复元素挑出来放在一起:
```bash
>>> for key, group in itertools.groupby('AAABBBCCAAA'):
... print(key, list(group))
...
A ['A', 'A', 'A']
B ['B', 'B', 'B']
C ['C', 'C']
A ['A', 'A', 'A']
```
实际上挑选规则是通过函数完成的,只要作用于函数的两个元素返回的值相等,这两个元素就被认为是在一组的,而函数返回值作为组的key。如果我们要忽略大小写分组,就可以让元素'A'和'a'都返回相同的key:
```bash
>>> for key, group in itertools.groupby('AaaBBbcCAAa', lambda c: c.upper()):
... print(key, list(group))
...
A ['A', 'a', 'a']
B ['B', 'B', 'b']
C ['c', 'C']
A ['A', 'A', 'a']
```
!!练习
计算圆周率可以根据公式:
利用Python提供的itertools模块,我们来计算这个序列的前N项和:
```bash
# -*- coding: utf-8 -*-
import itertools
def pi(N):
' 计算pi的值 '
# step 1: 创建一个奇数序列: 1, 3, 5, 7, 9, ...
# step 2: 取该序列的前N项: 1, 3, 5, 7, 9, ..., 2*N-1.
# step 3: 添加正负符号并用4除: 4/1, -4/3, 4/5, -4/7, 4/9, ...
# step 4: 求和:
return 3.14
# 测试:
print(pi(10))
print(pi(100))
print(pi(1000))
print(pi(10000))
assert 3.04 < pi(10) < 3.05
assert 3.13 < pi(100) < 3.14
assert 3.140 < pi(1000) < 3.141
assert 3.1414 < pi(10000) < 3.1415
print('ok')
```
!!小结
itertools模块提供的全部是处理迭代功能的函数,它们的返回值不是list,而是Iterator,只有用for循环迭代的时候才真正计算。
!!参考源码
[[use_itertools.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_itertools.py]]
!map/reduce
Python内建了map()和reduce()函数。
如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clusters”,你就能大概明白map/reduce的概念。
我们先看map。map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下:
```bash
f(x) = x * x
│
│
┌───┬───┬───┬───┼───┬───┬───┬───┐
│ │ │ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
[ 1 2 3 4 5 6 7 8 9 ]
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
[ 1 4 9 16 25 36 49 64 81 ]
```
现在,我们用Python代码实现:
```bash
>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]
```
map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
你可能会想,不需要map()函数,写一个循环,也可以计算出结果:
```bash
L = []
for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
L.append(f(n))
print(L)
```
的确可以,但是,从上面的循环代码,能一眼看明白“把f(x)作用在list的每一个元素并把结果生成一个新的list”吗?
所以,map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x2,还可以计算任意复杂的函数,比如,把这个list所有数字转为字符串:
```bash
>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']
```
只需要一行代码。
再看reduce的用法。reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
```bash
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
```
比方说对一个序列求和,就可以用reduce实现:
```bash
>>> from functools import reduce
>>> def add(x, y):
... return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
```
当然求和运算可以直接用Python内建函数sum(),没必要动用reduce。
但是如果要把序列[1, 3, 5, 7, 9]变换成整数13579,reduce就可以派上用场:
```bash
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579
```
这个例子本身没多大用处,但是,如果考虑到字符串str也是一个序列,对上面的例子稍加改动,配合map(),我们就可以写出把str转换为int的函数:
```bash
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> def char2num(s):
... digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
... return digits[s]
...
>>> reduce(fn, map(char2num, '13579'))
13579
```
整理成一个str2int的函数就是:
```bash
from functools import reduce
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def str2int(s):
def fn(x, y):
return x * 10 + y
def char2num(s):
return DIGITS[s]
return reduce(fn, map(char2num, s))
```
还可以用lambda函数进一步简化成:
```
from functools import reduce
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def char2num(s):
return DIGITS[s]
def str2int(s):
return reduce(lambda x, y: x * 10 + y, map(char2num, s))
```
也就是说,假设Python没有提供int()函数,你完全可以自己写一个把字符串转化为整数的函数,而且只需要几行代码!
lambda函数的用法在后面介绍。
!!练习
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']:
```bash
# -*- coding: utf-8 -*-
def normalize(name):
pass
# 测试:
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)
```
Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积:
```bash
# -*- coding: utf-8 -*-
from functools import reduce
def prod(L):
pass
print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))
if prod([3, 5, 7, 9]) == 945:
print('测试成功!')
else:
print('测试失败!')
```
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:
```bash
# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):
pass
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
else:
print('测试失败!')
```
!!参考代码
[[do_map.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/do_map.py]]
[[do_reduce.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/do_reduce.py]]
!Pillow
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。
!!安装Pillow
如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:
```bash
$ pip install pillow
```
如果遇到Permission denied安装失败,请加上sudo重试。
!操作图像
来看看最常见的图像缩放操作,只需三四行代码:
```bash
from PIL import Image
# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')
```
其他功能如切片、旋转、滤镜、输出文字、调色板等一应俱全。
比如,模糊效果也只需几行代码:
```bash
from PIL import Image, ImageFilter
# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')
```
效果如下:
[img[python25.jpg]]
PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图。比如要生成字母验证码图片:
```bash
from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random
# 随机字母:
def rndChar():
return chr(random.randint(65, 90))
# 随机颜色1:
def rndColor():
return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
# 随机颜色2:
def rndColor2():
return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
for y in range(height):
draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')
```
我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片如下:
[img[python26.jpg]]
如果运行的时候报错:
```bash
IOError: cannot open resource
```
这是因为PIL无法定位到字体文件的位置,可以根据操作系统提供绝对路径,比如:
```bash
'/Library/Fonts/Arial.ttf'
```
要详细了解PIL的强大功能,请请参考Pillow官方文档:
https://pillow.readthedocs.org/
!!小结
PIL提供了操作图像的强大功能,可以通过简单的代码完成复杂的图像处理。
!!参考源码
https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_resize.py
https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_blur.py
https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_draw.py
!POP3收取邮件
SMTP用于发送邮件,如果要收取邮件呢?
收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3。
Python内置一个poplib模块,实现了POP3协议,可以直接用来收邮件。
注意到POP3协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和SMTP协议很像,SMTP发送的也是经过编码后的一大段文本。
要把POP3收取的文本变成可以阅读的邮件,还需要用email模块提供的各种类来解析原始文本,变成可阅读的邮件对象。
所以,收取邮件分两步:
第一步:用poplib把邮件的原始文本下载到本地;
第二部:用email解析原始文本,还原为邮件对象。
!!通过POP3下载邮件
POP3协议本身很简单,以下面的代码为例,我们来获取最新的一封邮件内容:
```bash
import poplib
# 输入邮件地址, 口令和POP3服务器地址:
email = input('Email: ')
password = input('Password: ')
pop3_server = input('POP3 server: ')
# 连接到POP3服务器:
server = poplib.POP3(pop3_server)
# 可以打开或关闭调试信息:
server.set_debuglevel(1)
# 可选:打印POP3服务器的欢迎文字:
print(server.getwelcome().decode('utf-8'))
# 身份认证:
server.user(email)
server.pass_(password)
# stat()返回邮件数量和占用空间:
print('Messages: %s. Size: %s' % server.stat())
# list()返回所有邮件的编号:
resp, mails, octets = server.list()
# 可以查看返回的列表类似[b'1 82923', b'2 2184', ...]
print(mails)
# 获取最新一封邮件, 注意索引号从1开始:
index = len(mails)
resp, lines, octets = server.retr(index)
# lines存储了邮件的原始文本的每一行,
# 可以获得整个邮件的原始文本:
msg_content = b'\r\n'.join(lines).decode('utf-8')
# 稍后解析出邮件:
msg = Parser().parsestr(msg_content)
# 可以根据邮件索引号直接从服务器删除邮件:
# server.dele(index)
# 关闭连接:
server.quit()
```
用POP3获取邮件其实很简单,要获取所有邮件,只需要循环使用retr()把每一封邮件内容拿到即可。真正麻烦的是把邮件的原始内容解析为可以阅读的邮件对象。
!!解析邮件
解析邮件的过程和上一节构造邮件正好相反,因此,先导入必要的模块:
```bash
from email.parser import Parser
from email.header import decode_header
from email.utils import parseaddr
import poplib
```
只需要一行代码就可以把邮件内容解析为Message对象:
```bash
msg = Parser().parsestr(msg_content)
```
但是这个Message对象本身可能是一个MIMEMultipart对象,即包含嵌套的其他MIMEBase对象,嵌套可能还不止一层。
所以我们要递归地打印出Message对象的层次结构:
```bash
# indent用于缩进显示:
def print_info(msg, indent=0):
if indent == 0:
for header in ['From', 'To', 'Subject']:
value = msg.get(header, '')
if value:
if header=='Subject':
value = decode_str(value)
else:
hdr, addr = parseaddr(value)
name = decode_str(hdr)
value = u'%s <%s>' % (name, addr)
print('%s%s: %s' % (' ' * indent, header, value))
if (msg.is_multipart()):
parts = msg.get_payload()
for n, part in enumerate(parts):
print('%spart %s' % (' ' * indent, n))
print('%s--------------------' % (' ' * indent))
print_info(part, indent + 1)
else:
content_type = msg.get_content_type()
if content_type=='text/plain' or content_type=='text/html':
content = msg.get_payload(decode=True)
charset = guess_charset(msg)
if charset:
content = content.decode(charset)
print('%sText: %s' % (' ' * indent, content + '...'))
else:
print('%sAttachment: %s' % (' ' * indent, content_type))
```
邮件的Subject或者Email中包含的名字都是经过编码后的str,要正常显示,就必须decode:
```bash
def decode_str(s):
value, charset = decode_header(s)[0]
if charset:
value = value.decode(charset)
return value
```
decode_header()返回一个list,因为像Cc、Bcc这样的字段可能包含多个邮件地址,所以解析出来的会有多个元素。上面的代码我们偷了个懒,只取了第一个元素。
文本邮件的内容也是str,还需要检测编码,否则,非UTF-8编码的邮件都无法正常显示:
```bash
def guess_charset(msg):
charset = msg.get_charset()
if charset is None:
content_type = msg.get('Content-Type', '').lower()
pos = content_type.find('charset=')
if pos >= 0:
charset = content_type[pos + 8:].strip()
return charset
```
把上面的代码整理好,我们就可以来试试收取一封邮件。先往自己的邮箱发一封邮件,然后用浏览器登录邮箱,看看邮件收到没,如果收到了,我们就来用Python程序把它收到本地:
[img[python38.png]]
运行程序,结果如下:
```bash
+OK Welcome to coremail Mail Pop3 Server (163coms[...])
Messages: 126. Size: 27228317
From: Test <xxxxxx@qq.com>
To: Python爱好者 <xxxxxx@163.com>
Subject: 用POP3收取邮件
part 0
--------------------
part 0
--------------------
Text: Python可以使用POP3收取邮件……...
part 1
--------------------
Text: Python可以<a href="...">使用POP3</a>收取邮件……...
part 1
--------------------
Attachment: application/octet-stream
```
我们从打印的结构可以看出,这封邮件是一个MIMEMultipart,它包含两部分:第一部分又是一个MIMEMultipart,第二部分是一个附件。而内嵌的MIMEMultipart是一个alternative类型,它包含一个纯文本格式的MIMEText和一个HTML格式的MIMEText。
!!小结
用Python的poplib模块收取邮件分两步:第一步是用POP3协议把邮件获取到本地,第二步是用email模块把原始邮件解析为Message对象,然后,用适当的形式把邮件内容展示给用户即可。
!!参考源码
[[fetch_mail.py|https://github.com/michaelliao/learn-python3/blob/master/samples/mail/fetch_mail.py]]
!psutil
用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等。要获取这些系统信息,Python可以通过subprocess模块调用并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。
在Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用,支持Linux/UNIX/OSX/Windows等,是系统管理员和运维小伙伴不可或缺的必备模块。
!!安装psutil
如果安装了Anaconda,psutil就已经可用了。否则,需要在命令行下通过pip安装:
```
$ pip install psutil
```
如果遇到Permission denied安装失败,请加上sudo重试。
!!获取CPU信息
我们先来获取CPU的信息:
```bash
>>> import psutil
>>> psutil.cpu_count() # CPU逻辑数量
4
>>> psutil.cpu_count(logical=False) # CPU物理核心
2
# 2说明是双核超线程, 4则是4核非超线程
```
统计CPU的用户/系统/空闲时间:
```bash
>>> psutil.cpu_times()
scputimes(user=10963.31, nice=0.0, system=5138.67, idle=356102.45)
```
再实现类似top命令的CPU使用率,每秒刷新一次,累计10次:
```bash
>>> for x in range(10):
... psutil.cpu_percent(interval=1, percpu=True)
...
[14.0, 4.0, 4.0, 4.0]
[12.0, 3.0, 4.0, 3.0]
[8.0, 4.0, 3.0, 4.0]
[12.0, 3.0, 3.0, 3.0]
[18.8, 5.1, 5.9, 5.0]
[10.9, 5.0, 4.0, 3.0]
[12.0, 5.0, 4.0, 5.0]
[15.0, 5.0, 4.0, 4.0]
[19.0, 5.0, 5.0, 4.0]
[9.0, 3.0, 2.0, 3.0]
```
!!获取内存信息
使用psutil获取物理内存和交换内存信息,分别使用:
```bash
>>> psutil.virtual_memory()
svmem(total=8589934592, available=2866520064, percent=66.6, used=7201386496, free=216178688, active=3342192640, inactive=2650341376, wired=1208852480)
>>> psutil.swap_memory()
sswap(total=1073741824, used=150732800, free=923009024, percent=14.0, sin=10705981440, sout=40353792)
```
返回的是字节为单位的整数,可以看到,总内存大小是8589934592 = 8 GB,已用7201386496 = 6.7 GB,使用了66.6%。
而交换区大小是1073741824 = 1 GB。
!!获取磁盘信息
可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息:
```bash
>>> psutil.disk_partitions() # 磁盘分区信息
[sdiskpart(device='/dev/disk1', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel')]
>>> psutil.disk_usage('/') # 磁盘使用情况
sdiskusage(total=998982549504, used=390880133120, free=607840272384, percent=39.1)
>>> psutil.disk_io_counters() # 磁盘IO
sdiskio(read_count=988513, write_count=274457, read_bytes=14856830464, write_bytes=17509420032, read_time=2228966, write_time=1618405)
```
可以看到,磁盘'/'的总容量是998982549504 = 930 GB,使用了39.1%。文件格式是HFS,opts中包含rw表示可读写,journaled表示支持日志。
!!获取网络信息
psutil可以获取网络接口和网络连接信息:
```bash
>>> psutil.net_io_counters() # 获取网络读写字节/包的个数
snetio(bytes_sent=3885744870, bytes_recv=10357676702, packets_sent=10613069, packets_recv=10423357, errin=0, errout=0, dropin=0, dropout=0)
>>> psutil.net_if_addrs() # 获取网络接口信息
{
'lo0': [snic(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0'), ...],
'en1': [snic(family=<AddressFamily.AF_INET: 2>, address='10.0.1.80', netmask='255.255.255.0'), ...],
'en0': [...],
'en2': [...],
'bridge0': [...]
}
>>> psutil.net_if_stats() # 获取网络接口状态
{
'lo0': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_UNKNOWN: 0>, speed=0, mtu=16384),
'en0': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_UNKNOWN: 0>, speed=0, mtu=1500),
'en1': snicstats(...),
'en2': snicstats(...),
'bridge0': snicstats(...)
}
```
要获取当前网络连接信息,使用net_connections():
```bash
>>> psutil.net_connections()
Traceback (most recent call last):
...
PermissionError: [Errno 1] Operation not permitted
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
...
psutil.AccessDenied: psutil.AccessDenied (pid=3847)
```
你可能会得到一个AccessDenied错误,原因是psutil获取信息也是要走系统接口,而获取网络连接信息需要root权限,这种情况下,可以退出Python交互环境,用sudo重新启动:
```bash
$ sudo python3
Password: ******
Python 3.6.3 ... on darwin
Type "help", ... for more information.
>>> import psutil
>>> psutil.net_connections()
[
sconn(fd=83, family=<AddressFamily.AF_INET6: 30>, type=1, laddr=addr(ip='::127.0.0.1', port=62911), raddr=addr(ip='::127.0.0.1', port=3306), status='ESTABLISHED', pid=3725),
sconn(fd=84, family=<AddressFamily.AF_INET6: 30>, type=1, laddr=addr(ip='::127.0.0.1', port=62905), raddr=addr(ip='::127.0.0.1', port=3306), status='ESTABLISHED', pid=3725),
sconn(fd=93, family=<AddressFamily.AF_INET6: 30>, type=1, laddr=addr(ip='::', port=8080), raddr=(), status='LISTEN', pid=3725),
sconn(fd=103, family=<AddressFamily.AF_INET6: 30>, type=1, laddr=addr(ip='::127.0.0.1', port=62918), raddr=addr(ip='::127.0.0.1', port=3306), status='ESTABLISHED', pid=3725),
sconn(fd=105, family=<AddressFamily.AF_INET6: 30>, type=1, ..., pid=3725),
sconn(fd=106, family=<AddressFamily.AF_INET6: 30>, type=1, ..., pid=3725),
sconn(fd=107, family=<AddressFamily.AF_INET6: 30>, type=1, ..., pid=3725),
...
sconn(fd=27, family=<AddressFamily.AF_INET: 2>, type=2, ..., pid=1)
]
```
!!获取进程信息
通过psutil可以获取到所有进程的详细信息:
```bash
>>> psutil.pids() # 所有进程ID
[3865, 3864, 3863, 3856, 3855, 3853, 3776, ..., 45, 44, 1, 0]
>>> p = psutil.Process(3776) # 获取指定进程ID=3776,其实就是当前Python交互环境
>>> p.name() # 进程名称
'python3.6'
>>> p.exe() # 进程exe路径
'/Users/michael/anaconda3/bin/python3.6'
>>> p.cwd() # 进程工作目录
'/Users/michael'
>>> p.cmdline() # 进程启动的命令行
['python3']
>>> p.ppid() # 父进程ID
3765
>>> p.parent() # 父进程
<psutil.Process(pid=3765, name='bash') at 4503144040>
>>> p.children() # 子进程列表
[]
>>> p.status() # 进程状态
'running'
>>> p.username() # 进程用户名
'michael'
>>> p.create_time() # 进程创建时间
1511052731.120333
>>> p.terminal() # 进程终端
'/dev/ttys002'
>>> p.cpu_times() # 进程使用的CPU时间
pcputimes(user=0.081150144, system=0.053269812, children_user=0.0, children_system=0.0)
>>> p.memory_info() # 进程使用的内存
pmem(rss=8310784, vms=2481725440, pfaults=3207, pageins=18)
>>> p.open_files() # 进程打开的文件
[]
>>> p.connections() # 进程相关网络连接
[]
>>> p.num_threads() # 进程的线程数量
1
>>> p.threads() # 所有线程信息
[pthread(id=1, user_time=0.090318, system_time=0.062736)]
>>> p.environ() # 进程环境变量
{'SHELL': '/bin/bash', 'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:...', 'PWD': '/Users/michael', 'LANG': 'zh_CN.UTF-8', ...}
>>> p.terminate() # 结束进程
Terminated: 15 <-- 自己把自己结束了
```
和获取网络连接类似,获取一个root用户的进程需要root权限,启动Python交互环境或者.py文件时,需要sudo权限。
psutil还提供了一个test()函数,可以模拟出ps命令的效果:
```bash
$ sudo python3
Password: ******
Python 3.6.3 ... on darwin
Type "help", ... for more information.
>>> import psutil
>>> psutil.test()
USER PID %MEM VSZ RSS TTY START TIME COMMAND
root 0 24.0 74270628 2016380 ? Nov18 40:51 kernel_task
root 1 0.1 2494140 9484 ? Nov18 01:39 launchd
root 44 0.4 2519872 36404 ? Nov18 02:02 UserEventAgent
root 45 ? 2474032 1516 ? Nov18 00:14 syslogd
root 47 0.1 2504768 8912 ? Nov18 00:03 kextd
root 48 0.1 2505544 4720 ? Nov18 00:19 fseventsd
_appleeven 52 0.1 2499748 5024 ? Nov18 00:00 appleeventsd
root 53 0.1 2500592 6132 ? Nov18 00:02 configd
...
```
!!小结
psutil使得Python程序获取系统信息变得易如反掌。
psutil还可以获取用户信息、Windows服务等很多有用的系统信息,具体请参考psutil的官网:https://github.com/giampaolo/psutil
!Python教程
中文,免费,零起点,完整示例,基于最新的Python 3版本。
Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。
如果你是小白用户,满足以下条件:
* 会使用电脑,但从来没写过程序;
* 还记得初中数学学的方程式和一点点代数知识;
* 想从编程小白变成专业的软件架构师;
* 每天能抽出半个小时学习。
不要再犹豫了,这个教程就是为你准备的!
!!作者:廖雪峰
十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Scheme/Objective C等,对开源框架有深入研究,著有《Spring 2.0核心技术与最佳实践》
在他的[[个人网站|https://www.liaoxuefeng.com/]]上目前有Python、Java、JavaScript、Git教程等。
!去学习[[Python教程]]
---
本文件根据制作时间(20180830)该网站的Python教程内容制作而成,遵守[[Apache License 2.0协议|https://github.com/michaelliao/itranswarp.js/blob/master/LICENSE]]
本文件内容来源:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
---
本文件存放地址:http://www.bolebook.com/technology/python/learnpythonwithlxf
另外,你可能还需要知道:
[[编辑示范说明|编辑示范说明]]
[[文档使用指南]]
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gICAgIP/2Q==
iVBORw0KGgoAAAANSUhEUgAAAfoAAABWCAMAAAAQYqRaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM3N0Y2NTE3RjJBRTExRTRCOTJDQjZERDFEMUI5QjZCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM3N0Y2NTE4RjJBRTExRTRCOTJDQjZERDFEMUI5QjZCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qzc3RjY1MTVGMkFFMTFFNEI5MkNCNkREMUQxQjlCNkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qzc3RjY1MTZGMkFFMTFFNEI5MkNCNkREMUQxQjlCNkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7iyHmlAAAADFBMVEW5ua9fVWcAAAD///9euWLFAAAH5ElEQVR42uxd2YLrIAg9kP//51tFEI1mn7Z3Bh+mbaKyHFliO4Il2h9tCBUE9NEC+mgBfbSAPlpAH+2vQL9xkwYdcJUsHliOuLi08VM2gDsqcDdwlyQmE21OTJhxUd4Syd/UFtBxLqn91H4En1c0o5tkPPVaLzzk6AHkee8+HABz3QGHOZtMoiqgGw7fQU8eeqSPdG6BbnJxHoYp6cPQL2+G3lS4a9y4qQWDfupcicC512vxvN6l19wZYtNJGCIdTn5WSjSp9JTLjJZ4NsrXYOiUeiPPmIZ7xnpOFsqfoX8IxNQSKCyW+ZIPEhZ2oZfFWyQrHCIzzGlJF1FMNKNoHImaHMeqtkMm6jkf6q462Opii4iN0gwdUk6YhAZNVhfa1YHChlyXmdM1VUy3vNwrZKGnPsJau76hXoHc0tHOrzuNvD0nOkFCJQ9ldKpV/ZTOGZFDodKmAZbKIWSdZkJ10mUtkommHC8sA3ehX1o3PNNdDQmVO8ay6igMtLqSjlUFNIde/1hf2NCqmPEC8h1fMKKJUHViI0iN2hemtVYcJ/o5T9tOtGKgrBmmS0EHpmTKb4zyy5ox4pDKSxYZF4KVM8mR7kwHMJfrDLLrhcoxaA3TG6DPesBYT97qax9qpZ1DT9KTekEc9MtF6D2XGXqnyFW6VTvL9SoynQzZHfS97nQgpZvwIZsa73ATenOz+9DTBvRFVa1TJTJXurQLQKy4VSx10Ktze91gbFg9Lb3Dn+TVM2jIQpNYPTtn32YjLiTpvU3oaZLDt9CvdOfXs0VdzU/6wMVdcOTD0EMyCc08KCUMKV9K+bulIhg9nEnOkzqyZEltrmLGWiZIM3PJjVgQzYN90ib9XG5TNJyvpwyMMUjzWMdN7H4j66vPqTm3lFUGCB1apXn62V5ITIeJceZRIyWSNNedJtk5i2PUpLufMXdQpRWOgK38H9ceqc4/x9FX7B1ubD3QzcdMHEsnH5TlJErzhzvQCTxPS3Jmv+cH9y5npocxf89xDTwuyg5vq3RxvqWzSi8eZfQnJ/859r6Y612N7vIeX9/82RbQB/TRAvpoAX20gD5aQB8toH++8X9Chz8tIQf0AX1AH9AH9AF9QB/QB/QBfUAf0Af0AX1AH9AH9AF9QB/QB/QBfUAf0Af0AX1AH9AH9AF9QB/QB/QBfUAf0Af0Af0xcfgd6N+lc338QxI+qih8ic3zW+z+Lp3r4x+S8ElFfYnDZ+b/gs718Q9J+KCiItZHrI/211pAH9APw8rvaa04bxWuIfYFaj0C/S9a4e0jEb9TuIYYf16tAX1AH9AH9NEizYsW0Ptel8+PW58aOpzrmQPqTp7O9/FTHPfZvXHeIHADeiI9rZaInoOeBtEOT+xPMhPxCU0xfQpxk3qPAxBdVAx2B25CD+Tz2VdHkN/0KvwzSeX5w1s/ZPWO0QMsX16fdAf6pZ4S/qSBjFDGB6D/mJ+nM4vvk9CXs9iZtUbT690qTL78y+s+9Px0ssouaDsU6FeH+yITsIPetbiN0qp1eHKZHOKVq8zXyqzGYe4/PEgYevC6HIGsHVPBGGYpScBGhIYS60U5hVxPkjc15Rl5GPBYDy6HU2sdOVwnDT9UK+BgdFJynos6sCAI0RmrzyfXJ32wTJs009fm4SJo6VUiTaUkhZQkoufdzL7UQ76SR6Xj6FPJnjwA5eT7AmWZhdY1DXKFDEmK6qhMcKT/nD+5GkxSfAcC/EuChI+JKSD2hQQqET3bv7BZuiKXTBp4s8qoVyuPiDjjLeWYyluIKmUA+nWZKxiUDsql4OZN5mBVoMIezDNjVKmurA3v1bVfqcAjHQYiNgWqbGHVUSCrDFRKTvDUj3paUtRgO9hbHYtCyFWQIC0usQonjkhVTiGl92jX4Y9HTv02rHBM4a+UWsIMDKdAdmo+9HDXFMrSql6p8Sh8V+jRQ99k4jyL9bo22gRAOE8LwhGg7WWqJHkji24q5rjaVYSGn2QrqzoCnghrORTVDW3mHn2sF3fhRg6hT07cbsMbR7+2G63Z29XaOgq9swxgXZpnBf2yBf3IHtYztPrNJecGa+sB6EdW3/AjQWgOffqQdcrkdHMEeqrQD7TaKNBXN6vGa6QPQk+3rH68BSAL02YHjRz+omneOkvzDoxaISD1cWhhogNWvzQGS8v8ARed02ys3hw+aPRc4r3UojG98Q3T9H1k9fPtJXKEtHgfw6YfVHR1sahyKQKdcPhaAcTFlFLusddESh7FkVNN6HK+jwotWbawzpq4RrBSJdD6l6KNSnoS65WUGyW2yrN9HtOepWoOeibLpUb0HGuLpb2WdhWdTeoL82L1smoKNazRBpvFslbpBXXzgyS2iM5ouEzJIPFR6JG/2ofEmRyjyV9dPS0t9jzB5H6V4K66rLutZ5lza7nmf1FgF+vKlaHoHTkxu77MTVfeTvNY9gHLo0NeYqmWontUHAnsLxozJvBkVBO2G7Wyj+UNAAYBw8SqUw8CmrBG5XHIHspJisue28M/uhtAm7evbSo/y+HRTfzOyE+whsvsXatVw3tzYdL72b3M/2U/rU+W/uOtwXPfrvgV/ST0Uwf3lbDTVu5P/K7/DLiH+yBIbIdv/Az0X17RbMXsL5DlFJtd3/iB1ltJx2/zAvqAPqD/TujjXzD+6r9gRPvdLaAP6KMF9NEC+mgBfbSAPlpAH+0XtH8CDAD9QeJgWyUptAAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAAOwAAAA6CAMAAACEakUUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYBQTFRFyNnl0dLY/vnR4+vwAACVKWuX3aQQ8c2IABdh0KJQ/vnk2ur42Pf/micA8P//lbbLqqqpUwIApd38tczc9decmNH3q2AA///1++/dp7O2pEEA5urn2uTtZD0ARp7c4c61FlyMuqSOqsPVtN75TIOohavE+P7/7+DY1eLtSKfcjW+A9vb/GYzVYpKysIldybezuNXp+Oa6sLC57vP388VrVYqtClSGnYqR1vDYOJja7vb/VlVU9/j5o7/Tw+X46v/4Qn2kbpu4vtHe097mlqvJ19zwAT6nu+X9WXik/fbyeaO+D3LFD3G9NAAAV1eHW3+2ZJW5gKfCOXefW46wY1Vlc5/AdFVUAAA6AAAA//fKaZe22uPm2MaYj7LJW2Rk4eHS7+fetsK84r+QfmAmkmcirXc0ucTPb5y5eYuTiK/RnLrPp9HyvM7j3ubuOVdsv76nVWOGYY66KiwAdY6gX6bfVVVlIGSSh3JawoUCRpa66PDn4+v44ur34+v34uv3////JCAr0wAACYxJREFUeNrMWwtjG8URFjGiJHHMJSZxCAaUIDtuwTxqnJDIprINhhgCjgOxMDHPFlpD+qQh7cyu/np355vZkxOpvotldMpL2juZ/W4e38w3S+058s47x+x9eOM9k6P4fsCqxyV2Tt5x+BVviL/Zyd3hSrxGpF/1JD9LFrqjfdWei/sQBE5xBAgcP/VbDU+GiV0OmwxteIXrrAAFMXk8rPhsWL40erBxP2afYDESK9HAVayzt4dB8TKbBTl+Ju8NNVxEPod3FQDLTvdGHrsSK/RdDbCcWDY6NSzMDCQRN8syASd7gntEtBIFPHKwMch0W+TEbeV9/1WBTjCWfDGCcER4KIjW4ADOnBk2lVsqAZb37V/9EdAeXWVzToMjcYunwYxYd2Jc3E/R7qReXAXL+pg8EHcOMMQyfVeD0ZzGKluKIs1j0cU9vgpPkDAgDXu5uQoJykmeNUNJAqZBqzCR8JKkYMm4iojkFkbAwsTh6YgfS14ePVgHojXeJIeN9l+FZ0u6YqVXSv58EBlTFXjW5YVBBCNoqP+qZqDosLBV9Gvj1gPIONx4NBhOXB0vQT2ccg6jiogW6rvK3oJT0IsXq+EOJOMjc+NjreJghTkl/EgiNW5a+fSRVQlIwePUq6OTFiTj4Vt26mKr9cEfXmt9+fHbv/vml09mC1APNqM2zFNNv1UH/3ZqapCo0O/BZHwElv3Nx+PnXx9/s1V7/tidv39fmy1APV5C0CGHWuk/aFXcNRUQchsXI+MjaASebf3r++vdY5+Oy59CRYUYSvyOOaWbQave6n01nNBLMTI+gtr48sVfWu+XAetQ1jqjkmSTPqs9BkadZAxcgIzDX8PG+tJP3RN3zh678+ONgmARgKx2YBR9ftCqMqdEc/BMy71FyDisHBbcpYc+f9tqtT6Z6B5v/fvtgmARh1L7kNcd8oDVCCRmH+UlElZBCj6QjPnwtXHzyu3a/pUbr+R/F3Fj0jQzPXdS+hxhxwD0i2kS4469J7DuvQfuxW8hJ1+OjIdAPfONxv2N6UMpFRy9UfYEUYWZUwmItkUVF5+naWJ5JCXImHgI2Xi5caXRqD+z8PhgzWdR53lr0pxTjDFinVZKpFTDZtbCZEwFsvHC2uqlvd2NnR9Wms35ra3FerN+v3l/Mfxp17fq7fCxeUVeO4/ZCCBEWbkDxCp9qPqo2kkKBelhkG58eTL+fzFbW57ZWWy3t5o7t3Z39y5NTq7W1tbmpu/dG8PrXnhNT0+v1RtXgm0XVx9XqfDJZ536rzalUNFgYUICFquSNQilyHhgBbU0OXN76/bG3urc0kHbXY1IV2qHkGW0rs33BG4Un0QiTfHqzFZ4EKXImPomqIXlnfbKXsHtrzQaO/tvvXz9PH7qZXGbr9e+WpOi8cbr39Su914HWCI2fZdto+lf6GQh/eTSg3auqcgqQ8aP7H5yvn2rhEfOP3zvjVNnn3o1vvn85pMToTE41el0tt/pdt+8ud3qrM/m11PXA9dl0uTpJdx6alxUCAStNIrBUv2VJ+OHK6iFmfr85CHbnlNnnromLUGn83L4eOFa98Spa+Hf9Ynu1ETP9byfha2QMYkMEyiDVDlWnclL4wbWNO2JNEmpkXMBCjZGQyTLvfsc29iaWTgsEwUwb0XLTZ37z7kXI9jfdrsPXg12PrP/ek8FpQMAzrOLZRivsr4D70TLQRXNezlJyNasEwLZOglSlHD93mw8ttFcHkonMHH+ZOzfT595K/jx1Lmnr34X3PjZ7fH913t0Y4ihLldXkgM7a1604HPJcD6XJjRSyRKwyuucBgEqZ+Ua1NLMcKDmje32G98GPw5gs+86P/aA7dPPOg2+UsMsTWKsF8yk2h+HtQzhL4UWHpP+R3fbe0Nufx6ExNT5GW58/MmJgWDhgbkyXnyYhYzkLCCtrmBL6lmSMfSbhNalvTt0Fer0WQE5deHFaOVx+Tyo6/F5bVh8mBUfAOmkhJVlY6ZmGwFkUJSdroN61po/LAwba8QX6Kbz/tSFj/579/SHwdLbbyy99O5sP8FNsVLJYZazSh+ZCbW1T7zlMykk8jsj9azUa93hvx58KJn356lzwZv/ESnnT+HN5mz/kaXOKMsMs4BPFYrk/U6fWvTpzPXIFVK6LNef+bUE8aWFVwbIMsievtQwC4qLzWVTyeStkCDKyFt4Sw/00+LGbHeUr5iNMaIpP8yy8kg9Xnw4KTLIxuYL8d1me7LbHTFYih0qGaMUH2apvVB5oMWNiVtdOP7KNDNL4O7dv1WFyTtZL+tLDrMwdvaUcxEaQ6Q1DmDjt+c2G43N2uLmXLhv9GCZrWIsN8ySuird6Mde+2dn+4N34NYSG5k8uc0oLDSWpSKtAFiEK2K2uH7mkvoGhhm7+u7q305/pO0eiop4b0PAIowrcMzAadiV08/YSij0cOHzE7/PXlg/aWHshHo8ASw8oAKTd8pppdQwi9Ud4AFfvdD5658DWGlkJTVnUi6LG3+GH1yBYXTcBxG7cvpZEuMYKuzd7Zc9H18/qUvhrwzni0KC+kxPV1TCsmS6aAn9LIlzICC62/nL2sWb69Mk6AOhhaKC89N98shGf6YCScZYpbB+hukNWSHsn/9jp/N0dGP8pPDtzGnXzxopXAHLGnFySf2MkyyBGPhiTotkluIjgNXE7PWYRhWOBlHPQcPi+pkcPLXCmXsjWQ4LxQrK6WjBqy5QgaNB2Ifr0QsT05hsxlY0OtMaPWEAhoSMG1iaxCRkUMbpQJSeb6yCGyt/ClhiO8eT68KUzwyQkSFFAlXMVHKXU2HHDC0xqz2Uek4FamNGMYiumyA06g5lXod+1OW4pSSGIiPlsQhNlEDKJCFczZCFObV9owdLSea3VMsmQUFdYlXaOK0jyXJqiZCPPKUoQDmdORUd1c0rUC5SOiiASiIdt9QWIHavUksyymNowclBTYvDo9JWFj8ySy8dvFcgQfWkJtN4pS91PSWFN40V73o6XX0OzmkryxCyWHUd/Q5BvRu9ZbExqYBRUGBcyyklyXDWDlpIgSQLeX2c1JiYjmWcjV7YcTqnjR9UAcs6reg1JNGmatlokrCdn3FIYN7muDpSz0nGGXjH+XFVhrdU5VSqzjdIRQot+HQs5fdNMkmbWPSCSbOxJggnyFMrIa0+aYVWgebdTOHTxBLAtdMzrdjsZB0hC++wPRVOI+00CBN/JlVm9w+2RhazaUJDrEHJzmo//A85oucnnU1xsU5s2fcqdODqRFF5IRrpfMRg/yfAADRbieOUiEmvAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAAOwAAABUCAMAAAC2lCs+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYBQTFRF2eTtRX2kZT0ALW2Yo77T3+bvkTsAs8ra4+vv09XPqqqqhqzE8P//qsPWAS1jlrbM2ur4f6fB8c2I3aQQAACVz6FQ2Pf/bQMA/vnkpt38p7O2RpvXmdT4S4Oodl8m/vnR8ebY++/dFVyM9ded1N/m///1VYauClSGr2QA+f3+pEAAYZKy4c+1uaSN9/f76/D1OJbYtdz4GYzTvdPgytvmSKfc8PX3nDEAsIhdeaK+CmKz+Oa6xdXk88VrmI2Z2u7X4eLNw7etVlVUuuT7us7cllUAZKff6v/4w+X47+Da7vb/cZ26PHigiGUq/vbzADqlOAEAZZa4EHPCnLrPIGSSWY2vbpu4V1eIjrDIaJa23MSVa5i3c5+/dFVUAABDAAAAY1Vl1N7w//fKiK/RsLC5l6bJeYuTusTQqIWCX5CyjW+ArXg1qNHyvM7jsczxmcPvRpa6KiwAt8C9k2cAhnJaZIqsYY66dY6gVWOGTVtnwoUC4+v44ur34+v34uv3////WJwHPQAADm1JREFUeNrkXAtbFFcSnQlDmDQSwETUmFmSiYBKxAeshmiiEsyXGDQgYPDFrPvKZje77mazD1NVt//63luPexsUoUek5/sWBYaZaezT9TpVp9rae845IkJnH+jkB/KPwgMIn/pU+AbYxQHhVXIur/aj9h6fsD8pJJJzx3CGiODPmgRMOFVn8KibAzxq8q9WD9afJBCfbDx//82fHVKyidiNxI5Y+oDwDn9ML4CVsxVryAM2TrgK/JQYkMQhSRy19AHhUQ+4sb/kYqDgaf4RhC98+v7kMdgpmAYBg6mC01LpA8Kr/ufKwZJlGVBzhNMCsuBU6yC/hzEIrHIHBJf3X3sALGhCESuFswK9AMjPS+CFDAycmDQkyxzg7Yu94MZWQ0j+kKba4KOgaSb4rTipzzLgujiAOJn1QIISr4NUNh3bQVFJbHKYqndyCJY8wBeenrCsS6aVkBMn1YzrTxLZN1FzKmyvuHs6wNs8wH09GI59PrZXsICgDIGkfuoJBmfkGCSBw0WV3wiu9AGckV+XG48vjJWNWQxpFMUnXSydkQlhAAQBBlgdLXUAJ6v9hjlxdmGhfuiThWffXfvzTz9Pnt49GwfXE1NwXFnUCaX1zyEUmEHIPP7kyx7giA/Yb7CHvxv78MbYlYW55vjj/35/dXew/pxQTxalhqjlLJRDEHJ6RcZBqF1AmQNGwptg38F+tPCf72/l478Z48891dlY/0lSauA8QJJmJPWQVhTj+KUPGAlR+xqy8Qdnf174ohRYownau4X8IqcrfohMchEMBkL5AzQt7DfWj6/mxx6/P/74xzt7BGvMjvQTUTpSIYThUqRCbH1NNwfAPmTjoW0/P1hYWJg8lB9ZeHZtb2BBiTsahNikOetcJc2EikrKA8seoHnsVcG2pn64uvWZOzPp6966HuEAtdqIsKHQe/qMW6txnLnmE7Zf/xM2IfMkzq7S4Ol4QiCGJ/ufgJFn78r+a3+tpjUJXtlvV9rttfnaK3BjBKV2oXCCS0Q/8Xy2Jqj9QiVBZsMhLlGSlE0ttD1IHJqEXYpDvyLUgdbG/fZUu903fKnrrkfYjf6NfhnpIEpNZe+NPDHMYJg3oHJlhg3aHQg6NrSZmYN319M5d3JxaHVj/v4391qt6aWlyb5W31prbdJ/1teW+pam4sdS95MKCLWQ5LtBRqJIC0LOlc4UCFKXSoBGgoGENgS2IY81UMN30Kr0stIz1xh8uF5fWmrdH93YWB0aWJydmztZq/X3N+Wj33/UaostBfuwW7AQ0wupQ2pRCbSZrJOTssosmISI8PmHd4TDlDIFc8roiUdsqNyZj9wpQc0sjq4vrc+vLtZ2yzNz3zDSdmsm79qyaJQP1GZxhIhiUotFUGBOnBQkJ6P8Bo1WbQaCB5DQRNKe/oVufK5xv35vdW7XEz09O+hdeqrd1263B9LTX9/6UH7r11zEPzh5/SSTxjs3fpq7VXzdwEqbrUYgsGEa2TBYAlQzqhD8GL8kE0bjSuoCwrA0MbHXyy94PuVM10dndwV6aWBwqa8+uDgzfXW13Z4udgJH33/nYnjw2+V3D/kfL3c6nc2v8vzK8uZC59PT6fVYeniSomekUWYjUg5iTD1sfFmYg43EtaUDbX1sUAHJLcQBtmEY7Jte3A3ojAdabw1rea2117Y4wcTl4++c55ag07ngfzxzPj92+bz//u2hfOJS4fUIVhiQ02mCObUlYacWlwoU8zF7NGreBctlGu3sDhhnkPZbt4BtzvcNntsF6ez8+lpruACvb35bj3f5+GfBchOn/n7qRAD76zw/ddHb+fjW14ukQvKlmhOtmdEwJpn6c2EhwcP0VxOamhv5IchIHM3PuapJDx/sXAjV+Xrj5UBPDtfb9ze2BfNz9fXrQx+OhP796PHPvB9P3Hz78195N/5oc2zr61u5sTAcxVYISPmCGoGcekDbJNVyJINL7lZpAEAGjYCp/LgiXZwZbL0U6umB+bWljdm959nDm7MPvB97sNntzo8FsM/PoLQ4KJ2VsRJp8JHTv9zSOSx2rqiGM1rCbwEVuhAzq08aBGB1dri++jJi0Zicetholioqv/jE1PlS3PjIu4d2ButUiFHyxEbk0S/G7oziYE0aWUwIJMzD9EKSMEhGD7AzErYcsgH/ZgE7VN94iU0b663RxbIFdHz5fQY5ceZEsPLY+PLTnVo88U6K2Vh6NjQqrAkYyWQcdEYClTJEpVLfrLQ4w9QLyXEhFFv3dk5Ls/fWphe7YAuHgyWvdL6YOHO3+eDoXW/pzQszH//h9Au1HmlnupBppaKoPABkIx5Jv5nTTAdCRkLM3uu7umORWZ28P9Rdh/DLXc68X06c8t7871Bw/+IfrLwILKXpWEmZFuUyYQqBgF+EH/JgQZxGr4Rzjb7hnc63OVof7N/HIcbMpZkXxiwp2i5U10i2yBoIp0qW/yET94+NxV8n53ea/52bb60ekPJOUnS6kml5IgXoosuaBwSwmOaNRCv1gZ3OYnC3oruvawZ6iiVVV4ylxdizigPymUmeE+Ouro3u1OI16qt5fkBg0dSa0qorANgVkUpc6BZCNmai9WSl3V6ZW1954t/5ojPonx49SOWdCAsziFKqa2yG0DU/+Udns/WVapjhT8bRvcIdaIO1oRecwPDkXH5wYMFtIUalVFeR4ZkyUvNPG4s3lu+G3K1ekHEKazNYKWvPN2+TgwcrRsehUTcyrSRensLgW7/P3vh2xIESTE5QqGClAD/XzvbN5QcKNrA/SuWmlEybOIVz19/oPPujBytTyPBixu9kN34kewbb/vHR9YMWo8FZhSmvuqZkTPhg84KjI96yfI0C4kwoiU9Qj/RKbv231zcqWA2SaHTlVVfxCUlU9KDzu5Nnlz1YzeeBLgIPV0GGG4BbEtS5pdn8wMFizLKlVVeIExf/2bzd6bz9xtSI8I7wrowJiX8MVsSLg8L6ufzgwZp32kJlCdVVRB+tQIi1mk46tDxn0g1CnAEUwA6s53kVYKVOdqO6gkufYkyXmjr0ljXRQHveBLZxL68OrFbM8qqrBDOk9KXjqfB8xnlM0jhssezGaF4NWKLYxZVWXWVMpyNU7u5QBjqcrDPEglgffp+VnI28IrBYmIuXlWltu0LEEvUCMqadWcFCG0vKv/mokVcFFqKRRBUwkGI02UGVghmbeOvWyaQfRJ3aiEarVTVzhWlN2nB7OJRXBpZEWTRhTvm9yZAqVjpxT12Z12EiqpZFIKIOqsxnYk8WP5RPshv/UBlW0WfVRoJXm1gZbOtTSrKETOkOSZzW8LXYPoUkitK1gzhpDpsCA3mFYHVTAHQJJm62kOmMLpVhUsdEjNN0pc9STom7eO6EnbT/LNM7fcmDrS/mVYJNYpxNzCiOUbl3NR5JkphMx5GcxqkYtSFWuUvDFDORsbWTCJ/55GxeLVi++nGPX8JLlSpQEYdLTSEzE5Im2QKH1PFVYFrSE2Xq/6gqEtDoQF4tWAKFYsyfyRCkJjfJc9oYgNYpkLhEVKcX/Z1iR5GBjOFIZRLXqharcGPRd4SrQ1pSjQEKoEKHWEi5E2p6Ntti1GiFOrL8YcPYMO9YGsqrBosuyspKjEDHqKacU9I3SNMTQrQ1Wl0GlYmilpnJHFYDGupD1a/Nk+RWTIQBo6Se0NjEMOQmne8zbGlxwqgVRLPU6xFSWBblkBAh60NU/d0f2tth3PzSNRDpfEzt0k6OLCJ1P0Z5SJApmzf+phcIpA32jYCEKl8Dj5WgB9yYohJJuu0mhM/aGkQtIMKdECQnoU5sFHnz6MXIPkTWldIj1areCIFbvWVV7sCo4VHa2FIxwOiSDm0kFpGEI+oBzTdPpNkkl6eM18l4SN5qGIOqPGYtGccxDBW1LHZzWQexbV2M/qxR6mE2b07d7rz91GiUNgJEPF1s0X7sLu4HWN1Tc1oo1aXB6o+we0qrYTo/jZVKpujNm51//XRz87hOX0PM8sqNzI3lulQPVtRUUCWdLIbJpflFYWbq4owGdDdO24Hmm+edu778ZZqwsmQJBpZ6ASxvtulWIm8a216ablVYUSJbHJKrY2KY7uY658ESXDt6QuawwVHYjXVILnmherA2TELVr3QVEQXHtn0vNPVdbxRlMsgV1ycotixZb49hbuzfFIbkzKN64JZSV5A9pFSAS2OJOLmAKPOgOW/Uq9kpmm9+OvfWPze/cHaFmC7aKEeO7BFSocIyqx+JP2BkGWpU2THV9cutqzA+QXU6m0+Vg4WGPRMSCbqb63riBn9Nq1Swgs4jrMpYL0/FPR8pwmiECoD6n4zIIqNlY4okU3J69dkYZUtWF9WKy2u2V6KebGKs7iPG1WJpbQFtFVUWFDBYFkUUsO2q6i2LOkwRUm+rxrb9wt4KFBt0sh3GVHVAlxqZXxd+hXU94gK69FV5zGqVJSNQSGmZRO/7tpgGDmnm+XajQ0GtF083wSOLi8v6Si/8bwY2nyC9iblwb6EuV7DiQ3qzh1QiQJtZgI5dIWZ0Ebchi+MMkTl7AGza1kLVmB1qG0+2dyBRbYpN8c4YFk/QtDEscEnHq0E8kQ69Lt920QMtni6O45Y9JttyIpcaIFXxRF02roiqnljt1fGk9/c0JLfV1F4gFXa7gzU1iTPYoIWkDCFG0BCXT2V1XNQemyUrp7TeAVDuj67ejdOImKV3infsGC90qmhgKsIsSdtanMas3Myj28s6tEr9Ym/8r0HxvgCnaUnbW0msaGzf2V6y/cc4zqW7S23aatszkYKQBi1KBusRbqyRlgKUbOca5ULIWlvScrCwlivXQZbGHaRbguzmnkhVeoBUpPVacnEbV//zm2S1pNBibNhlWRMpjiwKUxlbv7VLBL3gxujinXVUuKXUxToiWOS+xLjNqBNXVTpB1qisRQLQ2TPpxrI5fdVg8/+jj/8JMAAjzOv+MPs24wAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAAOwAAABaCAMAAACMnkpOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYBQTFRFydrlR3ykmSMAdl8m0KJT78qFZZa3tcvaLG2Y9dedpN783NvYAABnrMXXhavEAACV1vf/f6bB8cRo8P//2un4/PflmtL5YwIAp7O24+rto7/T2OTs///2nz0Aqqqq+f7+/fnQSoOoPQEA5u3ySKDb8vX5vXYA++m5097nC1SGFVyMlrbM3aAA7d/aZDwAX6Xaye//a67jOZbXAS1jv9TiGIvU7ufYV4Wv6v/77fb/tdz438aq1u/Y6/D2soda2qYhcJ27VlVV//bJmIqaB16zADel3P///fXzeKG9vuX64eDHuqONw7Wt9/j7jlMAHmOROnegu8/dlqvJh2QqWoyvjK/HLAkADnHCnbzQzZQqV1iIY1Vl///bYJGy4MKRdVVVdo+hhnJaAAA5VVVmAAAA//fTjm+AusTQVmSHtcS4WmRk3vX/9+/e//DemcPvt77AeYuToaigqIWCiLDSqdX2rXc0sc3xpV0AOlhtxYwDRpa64+v44ur34+v34uv3////4SLVoQAADvdJREFUeNrsXIt/VNUR3rWYBPOQ8IrZhA1LDGQ3RRSjERTdICivmKTuArUGa7rUtlqtLZXaM3Puv94zr3MvkODem7uB8nOB3WTvWXLmzsw3M9/MSeU17xG9B6RnRKBnHx4Ow3ue3+MXeoPW8Wp9O9d6+hHJs31UXvO6VRc2BrZV+hbBy/7D9w5EJE/vh5Xgc6+nxc9cWLnxIHuj5/Ali+F5gyoR2lUWEtG5AuvhmQsblAAgFgeO9BI05EhL9EUwU9mnGCKrkG8NuPzr8dkLK1sKz6wrdICsCdKQKMaLV3t+wzn2QVqdcz29Pgc+iwoj5lm8WXU5sUa0K8BXnAiSd713z15YFpNwJCAJKwbU20wCehsUYL0XSXzu9ST0Mxc2mCHtmlTLpkZS8JbJ91DwlLWE4oUCu4K5edbTyudBsyQvYSopC0UzGbMUWSQSq/LYEnKufy7QmJUKogW2OSTo5GwBLH6wBkFw1VsikXe9H1RScezjb/uPs+xfogXeZbBHpExA4ibhrERVQhsHFlfyrseBafbL1U/6FjaGCYIQQhbKCRxK6PTszhxBPW8dGFoBC6yH0gFq9ubqavXIh6t/++KDP//165W5vjIo2qfzzmlmK7FRU15Ms6QQTTXkAC3Ot34QoeflL749duvbM6uV6ZNf/eWbyi8Ly4jpAGLkUO9VRHXqh4gCOJDJh3Otp0VlC3tw9Y/fXEhO/uEQ/+szzmowlB3RBuUrQMkiCcGc6E/e887nXk/3onR3fffm16vX8wjrrWyRFB7Agkd8VQ/VkKK1Td719Fy2rO8vJ19+dfzkVw8+7VtYrs8kj/cCn6wrzZeD5zn2QHAprioi5VlPjlu2sPdWV1dXjiQHVv/0Qd+a9QKboKW3FGVhs87F8MJoBBZ1WKi86/0gCoFPF/h5re+qBzFmCZwZuUg/KPdgmuQSjvItLWTzrn8+ineJDZboMJKKEaqSLLCKJ0o0zbve792Mhxvd2vLM2h6EpRDruPCUpJ21wxrjGg5Vh2nxwlqTZDDPety7Gc+PNFutVrM1slHtFi/xzCStTnNeMgWLJylnQ0Dj5VLO9a6M0DOz1ZRHQWHTbIL5IyOONBtkpM7GEECMeUSu9SVoNqksdRpB0lZjraAZM6pyIotW+VDqKOwRRv05Vb2wMD7/+j3SMnPL3cbIxuT4UDDk4fTtsxe+k//1LFcZ7y6OLnLS+OmtHyoXsteVcDMkAU57DFnAKQ3nTB4tXMlgAYUolrCitR4AS21O61L/iCVwQUEXhic2RqoTm0Gfd1utrWzkeen4b9+hLy6fevVIKAxO9Hq9setJcubU9mrvylx6PYYekcoLugRYJQ25iKU+1nQM2eAzj0xUiYFHjDYsZXzm+oILW3ouKGijsVRRn22uVx4pe1565aPzXBL0ehdJ2PPJsZfOh9erR5LZhcz1FKD4j5RiulOTkjdpKkLU2ClMmuaE6I33N54SLdt2nFhR0SMZVm5hN6911qOg9Bi59liNd+KVw6S52Yf/ffg6fRueTr+TXL794NHrj2RQUYVAxbcEXi+b1b8+Zb0d01aaHmmK6A2FpIQPauQ4JPfE2afzCLq4VG0NdSuPvnnp8VVnj/z9aHi5P/XK4WDHsw/f/vg329eTg9uHHr0eAYpjBVhYJEN1Ur1wGBUH9RgzfIyKVgWDj8wOf9xcNa2O5LPh0TcaDV9b3+gu5yhst5fvBTsOwv74ee+njLBP5sZgu1cbpH6Vk71ymDS3dT4y4w7A6jsUI9CMChi42BfqXMsKnU7I5frT7KXaSrNdm89l76cDMPXOiRkfePXI7sKq4iAVGYXp154NlzdOA4mx4Gr31uvAbMEOmmjU1bId2I3qQ6e1TmNyOK9vn5w6zkKysC+PHbo/9f1umoVovyA4hSCqUCpU0l5hWIR3NXLUmduidYsMksnr66poYSvo7y9term9vrVZhJ4ZC5o807s+e+LO9PtTd5Lk5+2Lazd+N/dkUiGUd6EerTJOjFZeDVvgiDoMdbrM/xlIyfx0YdeWVobGiwXin+8w8p6bfRiseYsC7r/DF0Nzu+TGxXq0AGiYhSnH6oVpDGZsSTIKgj0NoOYnqxPTJZZzawtrO5Z45nL5e7RgERUhUv9S4JB8dWf9QaAOCz5F2EuTjbv71djyRXu06uri5CSQZMLA2XLdAhZ7vXtKUjHRqO1T+0Moo0I9WutlMfPE5sAfcfRZF80Yxal3HTOoVe8myf4Iy53Hwj1aHwkK6YFIfSCQVud7OBPqlCH22p3ReGZrch9blhJiivVoOUKJ2PMf3u5tr1wXFoYTiTqzbkNUaw8J37rDBpZWKvvasnTsl0V6tKxXZVSn/7m0eevUnZSoCBlUcGtokbCtXdjFhZVukuyjsORgrmiPFlN89jj62o9vXD3qtYIIZsy+zsI2R6qda0vjj+eAwyOVZL+F9Vi0Rys5F1+68UbvP/9gYSW79Jwbqxm3l2vd9tBGoxmSwe7w4oL88MnOvjejlT0p2qNFzbnubV9Ef4CEVXTHuhhFAKi2wkKyNjNca7dHGuudrYnxxsT+z1RAWrXl7rliVDLe6/1r8ebtq0e1jvWCxogRp7Mk+aVK7dp6kLkxubQ5v68AFfEVC/RcJRSFt6Y/7/XefuPKUXZsrg3ryqsq5j1avFeqoRCfX661O0Hkidrifs1UiNkV6dGKQROy0cdmZgSzBKkd1LWDCYpwWWGHM+56afNue2R9q7u5sD+aLdqjRQ0/PmZbbOQSsOrKUvHoH2edadLUfiJxX14aWt+YXB60ZtEX7dFKq1Lz5lg5qGkEgMq0QCDb6+nukjRVup2N9vAgQ4/hUpEerd4hAS9jKEGs29VjZm1Qrj908imZxMJ4uzq5OChhLZYU6dEKBcsrvXk8840sep2gDeQOyLP8zPYv5P0LtU5nfFA+y9RooR6tUBRpMOJB2whyddO7pCM2ztfuQ5BKexCVEBUCoq6iPVptXUaz57SDmiG+Hh/I+aPMQW31p7Tp9khtAMJqQ6BIj1YcXUt6p57vDMOktNXmnteOQKNv/JkfalRKFxYNegv0aJ1oXZkK9Oka6xCgi+cnXACoah7ycLFzrXSmIi3AC/RorUhwNtslnDmXeGIKma5AspIzjtaq4+UKy0V7sR6t5RaUHUJskmiXxNWdz7Y1w+rJ/Ftvt8tNKqRwBz2RghZQnCQCmiRyzwclPwYlEyO/LHcBIpnMlQTnxo4rCoWwRpF8Ybi6WaawqjZgfiLl1ahTq41X4WvMmFksiPmhBhdNnziGCYwTLcOlohJbG8VMcm5ookQ0llalYqw6GXdX0z60mqFzKmTskiCYTSsyS8ClhZQbo4jKTEB1vOiYwVJnoSRhMSoohU5NlMASf4m7yk95HTIwnkb6VmCOncJR3Zh1zow748WnZRbLMWUZ1FRORnzRWCYVT9jglGt0kdSI0xis1OlbP9mntBtWt3EFMpRObU/zxkPdcoTV0trFZiM4i5Ja5jFNxSDGhJMhrwrihI2cnnrHUmPlYuvq6fSo1vY4qLm0OyrnOCPgbCgG46BMbJ4Dj8B4EMGEdQBrBBmzAdIKmT9x3it3Jz1L4NDjF4kkb9TcXg9EbDZ263vlOSOgWnTpGIhOSYDPDJIICmsfQDgbaRPYJND0Z83Pe29/7xSYmV0kuZldbMDez/XMPxm5cp8RSIs2cA7izA/yyJAFIVTAZmUKOgGA9qsFnKc/63V++Gz7oqZW3BEgA1CSHEs417NFMWhoI9OEzn1GQLUk0QSV4kfrB4C27WROwmFMLUGu6HRMAKgT5x3eOHXOac7pXJ2re+sIkHnvFWGIaN5spSln7jMCaKUbRCnVQq0l662lJdPjENdbv5pjcxAW/btTr0ulCzxmQB8Tklywfc94Ot5IFprr6fd5zwhA2p/TgMrZBcUhqc+0s+U035f5CVNwOtXGwt449VaacdTFwokk92WdjJ6pzqy3YkYVzwjM9n8gQofWLL7GAt0cONPpMrqb4q0QSwpWQdgrldGHY9f1tgHnxoLsaFR7GZlBY6PZtAmC/GcErDRXrs1BHJExGlgVyZU5ipKz043CrgaA6vW2v48jjYTGRizK7MXe541HgvevBxBISeecZwRsoIXczMUSPU0YhDOz0UYfC3TIkEuSW/rpxaMgIyfs1nWfyTqQ4G7Pal0aEbwrRmGQsBo8JGeycSAU4EGtbj2AAjE4M3XtgMnHeTTByFeu4403lve5oCrBimfarSDvSGFhlUi1IUQUYzVplY2CyJM7b9WrwlecDJKZGJ1G1tEgFweDmJYp4zHcaDYnignLG3c6wYYphwixt25DYUx/I6oFY8y4LHF2xsfpjamjj/O8kmGWVYUvdDuFzRjiHKlxieiNg5ERvfhrRzS66u4B47wBd3is/yG9rrqZicyVlOGze696ZC5AHBKMdpC5QwZeJViFWUUVULKJ2KD26QCqNH2oxIuVslWF5e9fzgB8R/2S2dELx/SVzgqMjkLyxBkBhU75LRs+PamBhrGoswVgv24CLNtSJk0KPw9xIlUTlJQkNyq2dFn1DMDB3nGanH/zYO9BkhzuvckzjL2rO54REMLF60il15wKFX6cmakEJNDZPJ9hic3QQV09DhE5m4kTry5dWDsD8PuxT+5PnUuS01fnvqTXhIZUHzx5RiBO87nMZKkQSg7i9EGmo6UzX6htZyJkwGmVq0dDnPSz5LZRd4w7fgM4i2dnAIKEH9HxjyDh4bFDcuVOsuMZAYxDXpnpCkgHf0CHn+LJFeO9pdWFmaEasEFtJ0SVdH30Y4PwWT0DcJBPfwQVb/fekupv+83s9dgRAGnLosvMzNgJB2fjbTppjvrrkYz4ZvcFm+CNJyQsPqcnZcAP4mR0ylZMkWKT5PLU1ffk+3M7tz9ESGeFrdTwIGcbtJ0efRK99dqtz2wuLtEalRTXDn78CA74d8sc6IlGeXCevh97b0cOynsb9HZGP6E4mVPaUVpfGDMOZ1PmOidvHTudAQKwY0LeuvnSIxnc+dkzveNityrs5dvHd4qzyYvwmD1xZY7+mbCzp8eOnh299GIK+zIdbTlD2pylg1vJ/SmKs+dfTGH7TRd/FfZXYX8V9v/q8T8BBgB7+locDEDNQgAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAAlAAAADiCAMAAAC2oQkgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYBQTFRFo4kk2NjY/9Qq064n+MspkHkj3r2ETkYqLy8r58WJ/Pz7rZVr9PTyeXl53lsyt7i4lJSU7Ozs/9gq4uLih4eHaWppWVlYR0dGra2tZFkqyq164LkodWdOzs7Od2gqDQ4Pw8PDQzwloaGh6sEpiYuRjXxca1seWk0jXFRBNi0e/8wflpqh/9QyVllldnmE/9tlfGgfZmlvZ11Euru9qKuyoqWqf4KLRkpWjZCZsLK4ycrJODk6bnJ809TTw8XKnqGmyaUlX2Juy8zPx8jM8PDvPkFMvb/E6Ojn/94tkZKQ0NHSwcLAv54m29zc4eHfTlJdQT41EhUW8sYp+Pj33+Dhc3Rxqamoo6Oh5uflsrOwpqelU049jY6M7O3u9/f26erpKCMY5OXk3t7bT09OQUE/paetbm9vYWFfm5uZ/9EpxsfF7+/u7u7sm0stvr69tJUkJico9vb2HR0afn99np6fra+w3t/f+vr59fb08vLy8O/wFxkn/v7+/84pMzMz////0QhCXAAALhtJREFUeNrsnYtf2sj390mAgpcsJEACUoSAgv669aF1e6Vu6W4v1mKLWHtvrYWK6Q2o3bZ+FzP/+pOZ3EMCAbta68xr16pcgsybcz7nzJkzHoAHHj9wePBbgAcGCg8MFB4YKDzwwEDhgYHCAwOFBx4YKDwwUHgci0HQGCg8hgFGFIk+N3dEMYOBwuOHASXdHMdA4YGBwuOwR4RAIySK4bg8CAwUHgcwTD0jbnO/EAbqF7QlbGSkx2WVAC0TjowMVBwD9evxxImxUR5Hi2K2A7+JiuxAoFiKojIYqF9gdAhtRJx4EqlRnjkDOYHPKamkkV8eBurn9FmyqXCwI9qwBU7iScyOZKFi0iM5ZIxCGKhfamQcQvNMPAvtRz+gOjF0S7TT7+mpjiMNMfTVxvalKNnsEf0FGgbq5xo08mVhLTS3zhYFqYpnJQFDxWyBikK/Jf0f6zPtrKPGosMSsfZPHFd+S/UXaBion2lQPYGUdbZYk0ymewM1yBIIQ9+V6mP/2H4izV6CKUAN8ocYqB9vZJxuIOJhaFhiVBa+7XDOKSoczwwFlGgCirDT1Zz0AsJOUT0cMVsmIlHllaSc8gEc/AcaTxjjZUMRDNThRGFc3PnDKw9K/9bMDHJl0pCoyCKPl+rhRaKBzTgBBQM8MaXMu1OsJj2O69i+OvmJs8pTWEYY2S0pJIiqL57AQB2SoHbQvGgiYhQrzQwRpihnZR1xCtMIFUh7oJAgz+q2Sox17P1q2EF8iVH59p6HpeJRDl1W+htSRFgW/rZ/Zcpg/jBQP2JA28DS9kBRBt8hTRwlafCOPTchR6BYiso6ABUWDfInw6lppR5aRbuXl0L3R1moXoWlcczKN3ZCfewfgYH6oS4Pfnwj9kCxcUl5qEKIsxc5dBwaABTkEUQvDISzhkpBIiRA47SSzIKCKmIDvH3aM0IhC0XIdsoaF8pARVSHRtlTeeKBimQ6P56osPwpjkhiKBvP6DYorukn5VOf6ePW7N2hUd5YgYIZTchPRF1B6SAvZrkILdpLJHRbhkCvstc8ZjJEDAKVleQXF05Bdh2S6RGDK/z1gBpES6R/bc+oQ7YshJWKuCyUM8pvQtHICECFtYWXuOXFRxV6QtBQybeEemO9eP+cAbI9tu8JslBRMQyJZDknA2Uavx5QWW7AGoSDlZA9SBS6nQzR43hYSiUh2y8l0wOU9LEmCFqzLBn51phxxulUvEPAy8J4j+3VvTFzUoG2ZAyymnrilE9MjO0Aqxnrv9DH2a/oyEB1wnREednErwdUJmorQgiK0F3/gGV3zjFZY4jyLZ/YjOYTpNnJ9LVUmXg0plNBaKlBQrID8YxojNlsEk3xXltBOWapICmq9qGj+p9F9yaqnKJQ1WhTNAGhjlJUxASU8pydOCcjlfnVgKLsP2thTRPTNik6ImV2E6GhgaK05884qG8HkQq/JYhMWAGKpmJ2QEmmSTKNtD1QKSVTFUaS3chFyJQkiDghw8q1J/Yvu0OE4iYbSOhOPGJ4L1WsuXjnlwIqaqsGpI8qq7/JclKXMD7IqCZp8zuSkWczJBeGyB/UrGVaaV2ERAfIEeXuhCFgVyeKUvNFcStQ+lTG+ys89PL0P4biXKga6IYhDpyNdaG4njw9YUobxHXXTRFhhxq7lEgd2ygvbuvtJbPBReMwXjE4CKOTC6kfOmgu4hAf7bMet3kvgXlaI1nd9veGOkSo06s9zNOiAkXZAUUMBioiveisnhbV7kFHdHOijI5d9pKSs+hZ+1yTNmLRuGGHnRGeDosMcycUswMqbIgijxFQsGA+Jb2p8XhPvTylv9OSLYlZgNLiOnMFYsYGqCwXVd7MUI+KYSkZ3VSPFyZ65ylkmemI6q7pKNELFBFRWegBKhPttSLme4T6l+jS8p8ati1wQd4Q6nnp02g1dsgVhrQ3Kat+uNiUjabXrnssgOqgP5ZyLG+m9QiIQO8e8lvGd9wmOtc+fERc+gzHOFT9EVamOqY9OR0P0+qVO+jjnoVSxlA5SWmIwcJK2iRmjc4qgoCCLyZjihsIOS+QiiuuJdRHknOSdw5ZrFDcdI8efZhV3HXIbl0mQshJrGh/LUhLkqKT6bmy8e0/VhZK9nNRR6Ck9yokBd+QobhNsiSqzh8kQ1mKlT72UaPJps3OiNKeHL6pIUq1DB0bMyHfl1IMCWUFKpKJy86KQkDB0iLC7LfVZ4wA844kLdOEKhTCTsnJiPYX2a3ewkgwrgd7XMRWMMT7A4WuTTmtDdOcYZHvGAGVobQBs0Ws/i4YwnQEjyXeYaG5jlByhYc+UZrb6YiaxdAryuL6jehdpEPwm4wjUKIxIaC9tpTBwCCgOtB3OABF2AFF0/rsDozZs70KM6PXGaC6BJuSKc3N0hF7oDro0+cIFKDDusn9QUBFnu7effEiGs0sTR6WEqc0dUyjXLT8ZoTYLLICWZNFTkGWODjRlP6clMHAZSzeUQdK00Po3Y1CewX1mwmoLLobtCOK7qZU86c72ViWgDem4IuxAMWhwpWMmmqPOwZrYaJ/ZrHD9fqumCGKQAXkvVhS6ssJW66tlfPRUVp26E4pAw37HwPUm43o4v3J9e937sfvUtFPN9Evv9FLf5xZQAZl4cLi5uSPBkongmYlb8GpiRZaFonGoFZ6W6T3OqznqGgiQ6mJZaRMLXlIM1BxHShts5IJKEozSsor1eK5CLJMSq6VkqOtjhUo+PuIIr9sgMooclCVUc5psEwvLeY6g45tsKelgjlL/pNwSKD/13mojDElv/7m2caX1a3FmXpg2u+pVMrlcqXlLxa47T++jv83QIFOBglDQ2rJqHpRDS2KzuAXOk7FzHmFiOEzrH4mI3rMwxmA0iVzTJ86mR4ZQcIClHoPTn3FaPI6FGWnu+P2QOkLy31q3JQXxdlE9CajBZdowj0xaVhPqZvq0iOEMTLqY6F+KFDvot8sBiudDuZbyf3fGYZEg5G+qZX9BfbL1n8ClBzOhh2T62w8jt5rSWLQuhOi9Pc8Zc0woH0D6sNjhLIclwppH3eDCZPVmPzVCSgxkpJ8WjxL2yWDsgagOs5AcdCpcrYZbxqV8hK9Tw4luRnASMwatRjEWUZ0XvVLif1KjH8gUE+orunn+zONaW+OYYR90xBIhkz6qxdXRwcKrT6k1E9Jxu3ORiWNE5YtBa2E31mtiIUz5r7lBILxvaOUH5C/zFCgByj51cVVoGiEiC7QwhklsGeVxZKIzZ+HCs0dMg6U5oapPr6Oy9Lh3gg3ZQNIqvc+en7UeaUybp+V+PFAse++reu+bOlcwFNjSAtNyiAZXyuw8HVEoDp6MiaDouVsnxUKuieISsHvoijTaJ2MrG3qOK7H7egH01T3ABUSWZpIZbV8t9EhxjWLiJ7MuqEzYwQBXcUUbqkgRZ2BUtZEbOqVwoNDQ5P97zi+qTRKJtP/MVD001i6CeP4nRef7owDeiFQERh7mmQ7xQgePvx9JKAMaUl779ZxSF5LgpeFHi9ia7GjmmyKqPaIRXsG4gb7QRGDgLIuoBhxgPsM4qmOZi1Zs06Rm+VEKbl6pWfxWAWK7qNgMrIuZHtrBwfyJH0UKPDjxoGAmrxLPWtnXr16NfnhTerpLndW9AjM/oDB+IrcX8NdR1YmHUmDKO94r+HtZAzlG9IchKyxTliuTerd8cSJFCHrdM6oxjUxq8GBgMqm7IDqGFaBe4DK6glC+Dpioql+UrQdnNnlsTDz1l8SE1F3GsfWnv8kQK3GPo2DXU2RL63lkwNxQlbKy1//Ntzai/H7qE0BCSrXidrZD1X2ptSZ12yQYr8jXIawqZXUrERGTSooQkpeDzNcQeYUiDG9+tcAFHxURJW9SNTD1xrpAxTckRAyZ5IMt4UdZ5/Oci5Ka/7rcQCgPmxvArCpep/uHwEvQ+67GqSveJYe+bq9wXGEVRyhXEqQhbEQ3F5pyLRwQK08oazJbhTAcaZd3jS8CmVZf0CiXHVYWR0om71yGTNQmreUF4HorCGpEVZWTcJyoWint9woa14d7meDUmFwfIEa34A5gKUd+ac7N/I1Zt/tEJhW4/6I1+30LmWidU9Z5tgWNyqZJkqMRkUYN6uBHGFMFqhcREJRVrJJVA9QKCGVRf6KjlN9gSIsQKliNuaAg16CG7bVhx1YB6rkzwjwU4/Rgbr6GPka2Thfrbb6aXEbJVWurox23VRvOphQ32jW7DuMwMUoWMZLobIkgjIAJM86igEJOhTllJBQD9JVxaOkLlm5+Y2p1iHTDyiRjWpbuENOexQMmfVUXzlJdH5RoLoUWmHJXoVfb/NJZn+4wST5xZEubJNtAYTSKTuOVnricGXe2JlL/mhn6HjEAShO9ksEpReBGIEyexu54MNQXd3rhlLGimRZZUfjRJ84SwsisvZ7xo/PGBmovQ35DYCfp0+BHLk/7CBz/NOR8l62mxDMk2ppUhJmVRMmhX+SIgmFLUBRkuaSTFMG5XPYcKajLZeYRLGDfBF711S15+5k2Z6SPsfMhXy1MDiRQP31QgPqKl8bnidE1OJIQMVtfxs1TynhsAyjlqNljPdRi6VDVDZDa6bCGEEi0lJOazuWihOz1KEzYba/ng4bcvV0tHMygZIlFHicAU+qyVF4QkQtDX9hxRfRtr/VhXvK4cFZBY+4Eai4nIBPOeSP0cqec1gatS6hwfJky9Y42NaHdXR6HRr8KmNkoFZly/w0NM55mf3RBpksEd0hc3CwZA2mNy2f9izyULSjrIGxW0o2JllY6saaLFTH0gw1gnLW7hP5FMDjB1mo+80Fz6g8ScrcKzav3XZZ1RIx5WMo66TC+afUXWNmoCKykMnCu8Xh/yHpn06fCJxwbI9q+8LiEQzSgYF6JwO1ly78vj/6IGveSv7GnjvrZMoJUD0IdOQYPSJL26gJNnUFUAGKEKOpfueXyD0vMB2H6vLkGZ38XGYOABSsamE89VeuLqmQJP3Xu+cH7a1E3ZWpHkmFKnliIRqlsOPSjxJQlGP3LDyOBqjJDaR+PqXL5AFwQmO56K5FtlIxSNlu+kHr7BFVXJmAovXYjYDrcXEiwoaj4gj1rXj8d0CBKKwS/1Z/7R/RQgkMs59LJnM1YbmyMFxm01kDd1C/nE6c7S2GtRH4ePp/JqB2YJouNd3ihdFwqnnyfLXRqPJ8sbAzzIVDA2GJiNj8HD+g3qD11rIQHMXnkT7//IPLtyN7e5srf1x8UF93fdlMPDwYFoqKhvDcHjOg1ql10An4lqcL5AjpgvkHfxu9WP2J28tS2Pr8okCBx0tgJc8IudbwPFXaZ6Qn6KpDcmONNy6vijLdWP38ikDdiYIzHkYK/IfmqdxeNOCEkFppuF6FoQkc7v+SQIHd+9RI+inZvmLGCRJ1v76EZ+OEA7W19ro2QohHFhZAD1BdsMW9wdNxsoECL17vDw8U07r1qpcn5PVe4fk42UBtfvaSrpZX4FDQE3zzZoenqXOwE8XzcbKBmvw3mBNc5MPL5UrZWyPRhmLGc8nk8MCdlXHlu3FuE0/IiQbqZtWf7AsUySQ9+UCpwdW5Eh8oVnyMIPB/mHlqpMMKYeDLCzwhJxqovedkP55IslIQz17+O7I33v328mto4Rbv95VLeyagVtJpVgVqqz6OZ+QkA/WK6xflMclC6bKp9Gx88ez8612zghq/y66oIgrUaTwjJxmoda6PhGI8wYt7wKyXAAgFue9WTa79DFicizrRQHW3naM8xtP+szfdJOkulntvIUr/tvkOz8hJBgrMtJyAIr3tFbtsk8RPjFu3vQUClcIzcqKBChWdqutI/owTNd1607KQp2uoJ3hGTjRQWwnSMR3uZIa64H3wMTBpKEVHgUl2Hc/IiQZq3SnMI/kLTjxJ4HwKbmpGCfx18caNi39KhqsLUiyekJMNFNit2JooslyadAZK0kqUknkCqbPzeb8/P39LUvBgZwdPyAkHKmMvopjitT48dcFS8Am0SODOtXYxx0jD54cldzhrcOKBogM+G58n7PO3+wIFWLjIMn4mWEjKbaUExvv67fc6llAnHShwzc7nkd7S/+wDOfXHpw0A/rzEV/QmikxZbIbxfJx4oN5NM3YxnrmiQIrfzJIK7JWy19p+U8tgJp/GSQMMlO3qC+M3SyhANBpL5jWYRjqfMzdRZDxnu3g+TjxQ4IzNzmGmeNkM1E46fdcE1HjJs0xaKcTFKxgoKMt7y4CZvDlNDt5w3KoJqFeNnlVApvhv7O6jL/eWaFzDcpKBAlSLGQSUZJG+mQl7We2pzBP42amJ2dnzc8/r2+EVXMdyYoHaCvRaqOIM6PaN8lZ4a7qBaZVOjaFxSuJqjos9/Y5n50QCBRZ6TBTjvwH65aG64Ix1/zqZC06MnVIGpGri/PN/sO87kUDd6VFRZOtWt39i86xFypM1vqnxpEA1dT52f/wbnqITBxS4aO2yKeSCRF+gIkFz42AmybNmnhBSE9U6F3uM5dRJA+p91VpzwBQu9wVqocCY9sZ42hs9PEGkTk1NTZ2uXsXTdLKAAm+tS8RkpdTpU76y2jYkDQTSmyhN2PGkuj4erxmfMKDG69asEhmYcQQKjF/SARSYnH9u9pQjTxCpiSZW5ycLKJDqCdq87T+dSoDBgpYzIJlkUeyPExzVm3iiThZQwNj9Hm3+lGQR4bBJYWZePmpIYEhvPshOjTn5OvWGKXaghfp28yVuGvUrAfW9pIdt3hyDclHBP+269owvzKO7CoyvVRCbU2NjDjBNzU4oP5x+1P/i3dQ1li/MsWdW8Xz+KkCBjOr0SO+/bQ9JIht1edyaIQerl3hkn8iaXyxJzm7MDqapidOBauPWGpLqYxMD6u4+nCtUcr59n9cTuHZH1nSvOjh/dcyB0pyekAt6qgVopBgvf+sKdFb6/paXF9tFQeaJ5yZO2dF0SoKpVKeuL3UmUew3Nvv8fX+eGh6GEQR4JoPgqf4BwNaZJsexMxlc/nmsgZpUnZ4QqJDTwQoDxZRn/tZl3Q+tXhQDXlQEReZ4dswmkzk1MSc2Nv7ZQnePBKdQunyyf4TJGlZ+mFzi4hfe783lkq18/Q8cHB5joEAqIKDYjZmeXmZabb+kzZFOCl5aeLu09/LPyw+C+TJJKgflNcdsbNNckIuuIAqgQQsFxqZmG4MW9K4Xl00NX4rp8jIpwCNkkvlzd/AEH1+gwGU5u0S2AiQ8t6zgI1G/sVyryAdLVb7gSSoV5GROPD3WY5xOBxvRJWDwkNvzp5/vDEoYTFqy9AKTV8DeJ5kWh4uKjzFQ4w+gn9sXkrCtHelLlOSDrSVjQea8SR+jVvxK+um0dSFYMk7NRaS35LhN+ifymQ1NDrzoFWuSXhCq2sIzU67ihcDjCxR4L58VC0UUNBX+dkvQllcEQT+VI3DewtNEQLz4VXF0n+pfvkKqVuv3XFyy25Rz9IbGZ6RXX3lmKrdwI9jjCxRYQoUskohi5JK5hM/uRLPC3JilTEWceam6OtAMsmIjttvkXB1w/V4pnfEYtkowCX0nDuO/DMDN0JfrmU0818cPKPAFOiAkomSFbNcROM+ZrNPUHHeX1oXTZpAAW4tskHBnWZZkdkgDQ/tkWdTKQQUhQLxrFD2eYvXyHp7tYwcUykZJIsq5lStTLBnST2OnZtsbEWPLsReoX4brs6Que0jlcAZ9eVrw8V7D/tE0n4Sb3Wv+Bk6kHzNRvvhs9U27vCyQgRbj3CfRsHY3NsFzf8k4KV/pYEbS5d+4Dy6veVHpePa7n9dV2u+BloGuoHyGrbBcDuIswrEC6vvaTji29rlVW55OMI7HBhkrx08H7yqlwkDONnXZGPxnZtftNS8qO+El1zat7Rv9ndf3xwu1qirRmUodL8gcK5cXvQ9e0c/SnwNth1M+yVxwVudpKsAtqVJ8vV7/8o4Icen6s0xog510e0mtySeZE6cVzUYm1/TaByEnav6XKf6DJ/w4AbVFoT6/a57EtGB/REdAT5CPTcxT2mY98LC9US9VG9HFaCndDLlehes2NVrIHB9IMihHnvhXV+WkV9Qyn2QSm6jjJcqjhBzqLds3SmT8DV0+zbYfGfpJZ+sAvNqDPH6KDSPb2JwhvzXdTlSSSW+CzwX03KbHUPtHFh7iGT9OQD3ZQEcBLcjTSTKWbhjltibIJfn0t4EnUP+iPkfs3ihACXKPqWleFPlEctnb1oRTwLBhi/Fn8Iwfq7TBXbQY9+2GpGFI0uspGkvNBd+8JqDGzjceAq3rPQBP080lJMufbFPdoYCCLo9k9n37cJ2QZIRc0idhzEzzcu6c9KaNQHnO4Bk/VkBNbiMcvp1tLXsDYsLvFYwZqLrOU51GPD3cgbmhbjwYjQUbTWqX5XaGUjndWFIgyUqCr/KJCkJIEOSvgQQibD/QNuyUZ1o38IwfK6DAjnwUwmQz0fbnTC6PLGsZqLHzl27K9qmZ/lzf2G6kJYdHP+PuEW8mh7zerne5HBCnK97ydLCQM6ilHCzyY3KFQk3Uj7FlPBfxjB8voD5QckLp6b9e5ndG0NdshX1edXhjpxu0nMZ8t5ZGow3zmN9jI1xvt+Vv+30MSZJMLSEaFvTIWiKYSIgJnzEpxhTxSQ3HDCiwhVzWt7rEU266mtCmWIrwVJ5mg0qstSXKPKVRHvPZKEBF01WvYgcFhjc2TBBIr99fJgUhqQl0wce/xzN+zICSx5XiMplsB1taEYBQU5urjE20r4L7Vx9urj5TeUrHQhei9bURiuG+XUr4DA7NvDtQijJJVHygmiimtYAn/FgC1W0mSbLwb2HZUEai1azMPwab4trn9pqKU3qND8ydDtSH77C5d85vkGlkhbdPz7eV1Twfv4Un/FgCtRfwkd6SodBNyAWnFIf3PAYdlWmch23Gzg8vb/YeGHmSDFBAcFiQhptwBKZ4Hc/38QTqZUBCyLuc0LriawZqbLa0B+60TTzB7XdjE8MrqPFz5jZCamFfL1HTQS/D7Be38S6YYwrUeDMpSBFeLaFE7EKNlxXU2FQ7AwBlNlBBlEkYvmfPGXM5ueALVpbtT2Yn/cFCgj+DN+odW1Eu95oWSKVuk/FwioGa2wDgk5mntGS8xqa4oWu/71jadC7703zL4VBteDh7Cdun4wvUnfmctjrr9ZBCQM5BjU2Ir8Cn1xagZqHHiw6fMbA4vErb7wkWcvZeT2CYAi7YPL5AgQzvRTE7uVxuexivqCryz9HmmoUnJKFOfxr2Ct+fmzbkSTy1lplaQqnPtDFS+UU828cXKLBUL8JltuS0xBNTPK8YqLTNeD0FSRvafHw1Jp0ExtNuMfK/fsbW7ZGFFTzbxxgo8OofNlAItGEzA0GV5M/tgGrDm7ihU9iEASghp1kmyRom7E5c2/+/55N4to8zUFKsd4dYyC+TsGhSyZGv2QE1D4M/duisJm1IOpHTCV2z5Z7bn7iGj5897kBJYxFGe4xHrlsZm7M6u/k1BaiJ3eFxZQ2dqWuG6E4QfLbVohfwZB9/oEIwVcTkUSuDsanPFtP0228f+bX0c0mTzz4b/rmNrYcdtwEausjex5P9C1goOOlCQOlEZ4rt1tKB36TxcQ2moWazwz/3ZCNJ7rsdpDeGD+P7GYCa3Pp75a/IyHJ2Jc/ANPmUvOpiwCnw8bePYgMR1Z4dG5t9PMKTp3if4BYopoi75x89UDcXF7hCPp8vNK6PmGXeSiBNLgN1Wgfq42+IJfnr54nRgAJvE4JLGyXUGrgLy1EDdSfamG7lYCs4Mpe/O9qz30kw+2S5dMqSNJj/zTg+tqdGAwpkCz53RDGefzFQRwvU+4tVT41RgidS4EdrPb8JLVRL2Y3HWwyUTlTj9LPRXv0/fJJxY6B8/OuneK6PEqgM5/EZMs5M8e/RgCqQWtbglFag+fk3y+DTIwIF3nEtRnBhoJ7nOHye49EBNf4ikDTNE5NfHRkosqUANW/yeCYrld4Z9fV/OGc9Xd3OQnmTy3l8AtGRATVOFc29woQaN5oEgelsssVZgCrIfs5oorZH/gO6V0oeYSBRAtPCO6iODKgX+WWGIU0uYwYcAChFQ6lArcnGqSAaVFT9AFmiF+lAcqDbE3IsTkQdCVB7xOU0X0j4vfpqBpmrfhjt2T/wqEOhcqbUmlmT/zuvuz3xwwGA8reSblLleIfC4QPVWbzGJYqelsdfaOfVtKHgC4zaY+JDALaZLskbFAJrMlGfFQsl2Srl298+pg/QUPxGedlFgpOZDuHZPmygrjYSlRpMPDEMk6wmlP5dvrxdny769rvBcdN7Cah9n1y9MnZeAeq1DNG8ISXFp0dPZHdZL+kqFYW7jR02UKl5L6M5OrIWRFsMmFzBZiY2d7l8vj4wOfUV1piQBVQAPDa79tmY1nytbsr7+DF4evbFyH/Bt7mcmxUYsoJV+SEDNVkyZQmZgp+Bx1t8tmmBcw9mPZdbzUE6dzXwu7aHamziswkoQ+3B6THljMXxEbaKd567WtIjvU2syg8XqOt+c9W/BJTgLYiFptW1dWcKKPczuO4fAaWuvUy1PyOfx5sslLzvZWxuaZNYn2xWd4deNfwaENwt583hks1DBWqdM7kOYV+sLLeC075lT52w8JSX01SM57oboFQRparyeaOGQoOXBFa6zrLtuVOnN4YlaqvgcoW48D883YcJVMQ8Mcse0SfkYMKcKfMXjLN8oaAu8VWiroBiiqwsotJGoPSlvbQ4NtV+tg42YSXL3LDB2GqecVcSVcBtyg8VqCsmj8d42xVyXzkBr5Y/p4f1b3ifdhrshiugSC/qbDA29RqZKAWogKHcLvEaKuZVEZ64OKzU6TmPyinMy/+Np/swgbprPNic8bQNPwpMq3pGUVLjZ7Wdb6R32xVQWpx3HpmoNStQrzeuxWBis4l2Wz3fHO4vOONxC9RfeLoPE6jtCqPSRHoDwYpZodf83AV09txKgdG7HEZdAlURlc4GyEQphXUqTyVFol0IIu3OdYb7C2ZaJC7a/BmBisnHJ5Jk0h8Qp2vWcw2ZZLGxQHwDF/VzXMjWZXdASSZqQ0lF6Wt5H9V+iG/kfpvxtnxm9bAbYM6VXQLlxy7vsIESGNKXTLTnPDWbihCBqXkK9Zl2y9BF7K1boLxyi3K5DNgM1GPUWPrbxdeIp1NDn/DT9LoFCu9FP1SgqMqyRExV/PffisPamMAwyddpXbIwecIlUPtMQdmbd1qvr0uvtbkXu1HYlHP8n0Z1CvH0fNggz3A6x6C1lzCe7sME6ovfE6zCE+pNetwcedcSQU9NL6ytDkoVaklHIRc8rfQ3aKsWqrQkP/wbMdOYnx2TeRq6dPPVXM0tUJfxdB8mUP+kqxUSnr6zXG7bf+jJpJioGU/OHNh1DlYbqI/lz5+S93vOVsX5wMeP6ZnI6sri23CsIQYm5JtOzT0a+g94WHC7k6o1g6f7EIGiH/h9arfchJ+xXbwQi6aelv5/3AO1T+YCDbnz/dipqYnZuUaJr0ojcH5Wokn5fXUEp/TEbaKcxEAdJlBPGq1lvad4wQ4oJlEwa/XAwIyRqaMFWWzPKsfDwi6tp05Nad/JSQUxPUIu+2+XiXIM1KECRZcMeSeyErDrX1Jum/Z+k+VzA3Pam+YmTmW+NDFmPBLdeJr1hFjkYT6+uz5JvHvnGq1QEQP1EwIV9S8b33pboKYt1QjFwV3nNhPmVvSCh781e8qGqbFTp9ue5ekzj7Y3tpss22zWmy53qSz6MVA/H1CvOGOotOy3A2o/Z13K+HPgs983AyUZKZ+HF5tQNRmOsh6ThLpYSDKMJ918urTVQYbvXcNd4/ILLldesCg/TKCWjEKEabVtk8+CdSljcOY509M5XGCE8jRfqs9OTCH9hBQ6FyxUSNQFwXC42deGq/qlay4T5aNv3cFjeKAMH3OS8bcrzA/KPNsJHIFZJr2e6YBYajyfm+OqIl/wJ+UCKx9/WzuF+Du466qhQszrGiichzo0oG5oXQSZXEH0Mu40yeAJemsSOAIJT42tJSsev8fTSnorrVarUk76tHP1mOI1oB5C3Ox+cLO7tFN3mSjHQB0mUA9UoMhKMOFzWbBWGbyMe0EFCrJE+pItf56vNm49uHHtxi0+t0zCYdj2S3pLe/JJeqHX9wDYdrF762a15hYo/zM83YcFlFZC8Lvfw7icILK8MfDZF2BpiSCzVCzwpUvXzlwh9uT9CBdf9zorkn+LSg82g09BFywOvgD4HnDdcwyfYH14QN3TtI7gus3g4HpNSTF7lxkhWYEsPVi4vvJSuwEGcpfnc2SPW7rUhcUHG034da8+eOffasLtC8b1UIcIFD1Ed8EhgOrWPZ48L146d+YvWvmNOsD/xsFCz1UF37wky8FqexXVtDR7d9WMP3ly9d69d+8iSlJ10W1eE58Pe6iJzRm36UEjUP0LgLs0sZEWH1wMPbSwhHi6z94E3bM9yyaM/wGM3LbR3cEX8/bP928e7TbrLDUTvkvVm7IDu+0eqDwG6vCA6lS9wxLVV0NNfnrBcrGd1PdelmSgdmC/lZeiNSsp1Ob/BJHgqizNCb1jyveVbIxrvgg9VDNV7+pf4D9uK8phpv82nu5DAwoQ80lmWKCcT/Bdr8eera47wIQKfuth6NT+bluFOTRRu6z8KDBeRzuJx7eexurN8NU9g6mDh/LBWpeLFbcaiszjw14OESiwVC0zQ+moft0nnm04siTjcEdERkgS5hYZJZmoM6WM8mBAhcDkvShbj957aaET/EOvcwQ86tE1UIUneLoPEShAXCrWhkGqz9LLzcbNPjRBHB41ZJUEemQU00pzYP3qOLo5VNqAts5Ggy2Jd8BKfXy8UXP9kgt7eLoPEyiw/sXQ+NfNJ96xg9fdnf48dUFsV/FctNhiLCZq7QJYbzxCQG21n323tXXQLQLAPr7Pu8VJ8M3dxNN9qEABcOcyVyz7GFdQkUnWqQvBJDfIQK2X7qlrLLfNVVawtYY08U/FPZQ4qD+1fSYwLv77oM6119IBtx5PyOHzzQ4dKCkyv7IdKHqSNYGRsCL7J56vOz1nZhsMAGpFWWKB31/kBXPD4QWY9qxHkYmitu2B+vN1pVwuJ3MB11kDIVnHh1gfPlDS+F/mS6xaKHo8rbKv3wTNO254Cj8a5PHCLNCNzQMjFEIuSEDbtNT+Cv8JNcbtngssFNFCIBNwnzXwxvBsHwlQULLsbc6sFQJ9m+uSeccgr7k0CKjmXUPOfMsooxj/WVmub8cAWtRbtctijd9C+88Fn1h2HeSVKTzbRwUUgEsay4KvfwFkb2e7bmdyb7Kz11gdkDT4XrpqzADcNmSjBP6KnDG4E7yKXN8zO6CWRBTcCUkx5zqGwAWbRwrUwqCEIVk2rrx03199fHe7Wa+zdZZLNzYeR/ogBZaC7403GrJRZKXUUeK/FxxcQ4427WK8M/LmB7IccJ+H9eAuwEcI1KuB+R3S21Rh+rpIsfXYi3/eEVv0zQ93vi49pepi/dE3J6TAo7rpJgBuqD3MmPxFNfz7LsLzft411kFvnv2ssvRYS7o/Mc+Pjw86QqBWE8zAMBwVl3QjO02OerpqTSF8DVdLT50WXjYoS5py8pYszCVJrmkm8Cj46f771XaqF6hXJVU6uU/EMnncK+MIgbruGSx2576D96Fm/e7SeK9kkn4x/ji4YR+igfpj692/yv0UVEmOftfl0mKp9PlqL1AEXxu+2qaATw86QqC2B5f+k4XsC45acdTfADzh2G92kvpVo8fqgL/hzghhX5Hk8u8WPy99XXpiI6EuBMhhedoXAu/xbB8ZUO8DPhc+5N+dD4OiuagdUIS42Wt1Qq+9jC7JFUt21/b5wUJ+6OotoTb3Dc/2kQG14mLGYEp7UL6JgArIlFhAlscuWwkuvPYuF2ZMYj0TpO14Ajc8wwOVbOLJPjqg3JSt6Xue+hAFY38wvj65tze5run2Z6wtJpfnPfMPzdEfu2t3z2+3KkO7PLJ8Dk/20WXK3ZzHw/hvDAbqVYlt1rkGGly9zjZjVDTc2LDX6i/SG2abB1JtOwm1KXqHBorxRPFkHxlQN5+7Sj2zYDBRT9O7n96llghi5eq7e4uPdqIbMbZ+1X7FFyx9t0Z/LAXsNFhu6CAPd9g8SqBc9Vwiy/WuGxNl16PF4c49N4CV9lavfv+b3x8eqCKBJ/vIgLrgZg8M6W3sDQSqC+6yg+/k/GjQ7DVR4EphhKxBAQN1ZEB1z7nRKEKydMcFUFvBrwchainYo6LA9cLwQZ7vOU5DHRlQN10VahuXSfrZGHbnAEB1bQI9cHmENFQyNo4n+6iAeujKpQi1+RUXqMBiuoOYqKvmygT4q5nhgcLneR4lUG9dbiPm/3QD1FJp8kAqqm61cODi8EDhXj5HCdSuu7yhELjtBqhXpasH8nmhqqWAZSSgiviglyMDyu1hF2ThCnBlYr4cCKjxavzgQJGFTTzXRwXUnaq7NA+Z+MMNKYCiDgIUbINgyZ8PL8qFWhVveTkyoFZctlxi8jNu5DbYaR4MqA9Bc7ULOJMfNg9FerfxkehHBtQVl5qcKa69dUGUteB3eKK2zZvzwB9DJzYHH8SGx38H1ILbIzL9r+evrQ9efQk1ugcDKiWa9zT8yQ+tyXHnlaMDqssm3Z65Ol0LXBqYLQefquMHAwpwpr1U6iaqIYZvDm9DPzKg1ud8bv1IYpnMlx4OqrJbbBwMqC64a3KaYEtMCkNKKFxdd3RAGU+QGgBUgRSYovhmQCODp1z3gEC9EY01B2D9VpkcUkL9gWf6yID6y21QzngkcSwRVdrqywt4dkBRbk1lAXB2yBJgcvBBbHj8Z0C5XXiRgEKbT5jirb5rKyB8sLRB73rgsJsUGM8NnDQ4OqBmWq7PC0POUWAKN/rufdnYPTBQS6Y4D7zlh3F5ZLJ6B0/00QF1zq1AISty+E7W5s+Afv4qe2CgxhuLRqBWh6kBJnM83uJ5hEC5PrYetqrwKUFU27mQxdJqZUSiYkYrB8aH2PbC5Hh8gsJRArX33G2Sh/QGlKYpjP+SY2bggOUrttl2cM1t4zqB8fJ/4Vk+SqBo1x1yhGRAYU8Q+OuOQO2w4OBAmTcbgyu8O+hJwc/hWvKjBWrL9UKZkORVKcNUxJvgPykB1kTUJyNQL93szBMYshK4jFv/HjFQt12H5EJOA2qfDMw4ALWJemb+CBFlJOrGIJ8nkIyvVaCweTpyoBanXQNV4zX9TlbE9/a7N79w4EcAtfj5nvEsq8V+W/MkmBhfuRiYwdHdTwDUu+IQQOkZBtJeRQHAffkBPEEp1t6m9d5R67day7CfuuVcD3QILenzeoqBjSvY2f0cLs/1QWeCL6gDxXgu2Xbe6d20Muryy/1m8JlOVPhz3t8qJ2u+fcjQsjR+/32/lvRWPMXC3MbMCo2n9tgBtb+f0IFy2FQFmrs/hCeE1FOxvqoeRvX+862Fs7fa8+fPJ/KJfD4hjfPnz7Psxbd/reBSlZ8JqE9DAOWzFATbJKHaWz8KKImo77vtsErULlTp7KP19y+ffF1dJVYj9Ob3b+N4ze7nE+VDAGU6UqN1qadKxaHB0wGQelfiZCMFXm0B8JDDWw9+KQtlzkqJPcYIfLJtQXcQpNap9mPllXbfNfChr7+WhjITxVu36YH10pcfyxM0Up+C9Z2dFy92tzkWF4ofBwtVZP5vtAGPkbLsyKuDHw2URBTNptnFUOgTrkk5FkCtzv6/EcfEZcsO3ztN4ofzJPdOfIHF908LlE0budFGF9icodHt/idEKVc86BPgcQhAnYSBp/2/G/9fgAEA/D/gJDbgzDYAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAATMAAAEWCAIAAACFW+eMAAAYV2lDQ1BJQ0MgUHJvZmlsZQAAWAmtWXVUVF3XP3eSgRm6u7s7pLukUxSGoYaWBkEkRAEVLFTAoFQkVCxEREBCFEFCQDAARQVRMVCU+s5gPM961/v+981a99zf3WeffXfdE3sA4COSo6PDUcwARETGxThbmgh7enkL458BesAPSIAVaJIpsdHGjo524H/+vo0AhNY5pECT9T/Z/nsHS0BgLAUAxBF2+wfEUiIgvgoAhpESHRMHALYD0sUS46Jp+C3E7DFQQYhXaDh4A+Og9oDd/xcW3+BxdTYFAKcNAB2RTI4JBoDRDNKFEyjBUA5jAOxjjQygRsJhSRAbUELIkMbbCHnkIyKiaPgVxNL+/5IT/C9MJvv/lUkmB//Fv2yBI+GLzaix0eHk5I2H/88mIjwe+mvjJwJbYkiMlTO8s0O/lYZF2dIwEeJLkf6bHSBmhbiZCi36jftC4q3cIKbxT1JiTaEvASfEXwPIZrYQ8wOAoo8PczP+jSXJMRBt8KNMqHHWrr+xe0yU82/5qNDI8M20/IByUKkhgdZ/8KHAWHMXSIc6oEKDqBbWEMNYoc6nhLh6QAz1RDUmUN03Q8wIcUdsmAtNB5qcwZQQUxp9gycm3pmmszikvw2KsaDZCHnQxIhYiDbko0Up5I13cUO6elyIqxWkw7Fou4BAM3OI4XvRnoGRbr/1QYdEx5nQ5ND4U6LDN/Ib6ok+FBhuSaOLQlwZm+DyZ2xXXIwrjQ79hh4JJdvQ8hXqjJ6LjnOk+YSmzxKwA6bADAiDeHj5gygQCqh98zfm4dOvHgtABjEgGAQChd+UPyM8NnoiYesCUsB7EAl5Yv+OM9noDQQJkL76l/prrAII2uhN2BgRBl7DN0RgeDEGGD2MHWyN4KWK0cbo/BknzPRHT5w5zgxnhbPAyfyhAArUOhxeMYD6X2i2sC8QWhcD28g/NvwjD/saO4Cdxj7GTmKfAHfwakPKb0t9qZkxfzT4K9keTEJpv7wSCD0WCWb/8GAkodYaGBOMPtQf6o7hxPACBYw6tMQYYwht04DUP96jaR3/V7d/fPnH73/4aFoL/8vG33RGWUaN31r4/7EKRvKPJ/5Tyj89VBAAuWz/kxO9F30F3Y1uQ/egm9E3gDD6DroR3Yu+TcO/dbbY8E7w37c5b3g0DNpA/cOjXKM8q7zy5+mvrWRIoWlAiwHM/7jApDiYf8A0Kjo5hhocEidsDGfhQGHrSIqivLCqsooaALQ5ncYDwBfnjbka4ez/h0YdAUDzMpwDxv6hBcOcbpoGgGD3D02iFqZ8JAD3CJT4mIRf8jC0GxauFkzwy+ABgkAMSEObVIEm0ANGwBzYAAfgCrzANuj1EBABtU4EqSAD5IB8UAiOgmJwGlSA86AONIAboBm0gS7wADwCj8EEzI0Z8A4sgG9gGUEQPEJC2BAeRAiRQOQQVUQbMUDMETvEGfFC/JBgJBKJR1KRLCQfOYQUI2VINXIZuYm0IT3IAPIEmUJmkc/ITxQaRUSxowRQkigllDbKGGWLckVtRQWjtqNSUNmoA6jjqHJULeo6qg31APUYNYl6h1pEAzQDmhMtglZAa6NN0Q5ob3QQOga9E52HLkKXo+vRTTDWQ+hJ9Dz6BwaHYcMIYxRgflph3DAUzHbMTsw+TDHmPOY6pgMzhJnCLGDWsCQsP1YOq4u1xnpig7GJ2BxsEfYs9hq2E347M9hvOByOEyeF04LfphcuFLcDtw93EncR14obwL3ELeLxeB68HF4f74An4+PwOfgT+Fr8Hfwgfga/RMdAJ0SnSmdB500XSZdJV0R3ga6FbpDuDd0ygZkgQdAlOBACCMmEAkIloYnQT5ghLNOz0EvR69O70ofSZ9Afp6+n76R/Sv+FgYFBlEGHwYmByrCL4TjDJYZ7DFMMP4isRFmiKdGHGE88QDxHbCU+IX4hkUiSJCOSNymOdIBUTbpLek5aYmRjVGS0ZgxgTGcsYbzOOMj4gYnAJMFkzLSNKYWpiOkKUz/TPDOBWZLZlJnMvJO5hPkm8yjzIgsbiwqLA0sEyz6WCyw9LG9Z8aySrOasAazZrBWsd1lfsqHZxNhM2ShsWWyVbJ1sM+w4dil2a/ZQ9nz2OvY+9gUOVg51DneOJI4Sjtsck5xoTklOa85wzgLOBs4Rzp9cAlzGXIFcuVz1XINc37n5uI24A7nzuC9yP+b+ySPMY84TxnOQ5wbPM14MryyvE28i7yneTt55PnY+PT4KXx5fA984P4pflt+Zfwd/BX8v/6KAoIClQLTACYG7AvOCnIJGgqGCRwRbBGeF2IQMhKhCR4TuCM0JcwgbC4cLHxfuEF4Q4RexEokXKRPpE1kWlRJ1E80UvSj6TIxeTFssSOyIWLvYgriQuL14qniN+LgEQUJbIkTimES3xHdJKUkPyT2SNyTfSnFLWUulSNVIPZUmSRtKb5culx6Wwcloy4TJnJR5JIuS1ZANkS2R7ZdDyWnKUeVOyg3IY+V15CPly+VHFYgKxgoJCjUKU4qcinaKmYo3FD8oiSt5Kx1U6lZaU9ZQDleuVJ5QYVWxUclUaVL5rCqrSlEtUR1WI6lZqKWrNap9UpdTD1Q/pT6mwaZhr7FHo11jVVNLM0azXnNWS1zLT6tUa1SbXdtRe5/2PR2sjolOuk6zzg9dTd043Qbdj3oKemF6F/TebpLaFLipctNLfVF9sn6Z/qSBsIGfwRmDSUMRQ7JhueG0kZhRgNFZozfGMsahxrXGH0yUTWJMrpl8N9U1TTNtNUObWZrlmfWZs5q7mRebP7cQtQi2qLFYsNSw3GHZaoW1srU6aDVqLWBNsa62XrDRskmz6bAl2rrYFttO28naxdg12aPsbewP2z/dLLE5cvMNB+Bg7XDY4ZmjlON2x1tOOCdHpxKn184qzqnO3S5sLr4uF1y+uZq4FrhOuEm7xbu1uzO5+7hXu3/3MPM45DHpqeSZ5vnAi9eL6tXojfd29z7rvbjFfMvRLTM+Gj45PiNbpbYmbe3ZxrstfNttXyZfsu8VP6yfh98FvxWyA7mcvOhv7V/qv0AxpRyjvAswCjgSMBuoH3go8E2QftChoLfB+sGHg2dDDEOKQuapptRi6qdQq9DTod/DHMLOha2He4RfjKCL8Iu4GckaGRbZESUYlRQ1EC0XnRM9uV13+9HtCzG2MWdjkditsY1x7HDz3BsvHb87firBIKEkYSnRPfFKEktSZFJvsmxybvKbFIuUqh2YHZQd7akiqRmpU2nGaWU7kZ3+O9vTxdKz02d2We46n0GfEZbxMFM581Dm1yyPrKZsgexd2S93W+6uyWHMickZ3aO35/RezF7q3r5ctdwTuWt5AXn385Xzi/JX9lH23d+vsv/4/vUDQQf6CjQLThXiCiMLRw4aHjx/iOVQyqGXh+0PXz8ifCTvyNejvkd7itSLTh+jPxZ/bPK43fHGE+InCk+sFIcUPy4xKblYyl+aW/r9ZMDJwVNGp+pPC5zOP/3zDPXMWJll2fVyyfKiClxFQsXrSvfK7irtquqzvGfzz66eizw3ed75fEe1VnX1Bf4LBTWomvia2Vqf2kd1ZnWN9Qr1ZRc5L+ZfApfiL81d9rs80mDb0H5F+0r9VYmrpdfYruVdR64nX1+4EXJjstGrceCmzc32Jr2ma7cUb51rFmkuuc1xu6CFviW7Zf1Oyp3F1ujW+bbgtpftvu0Tdz3vDnc4dfR12nbe67Louttt3H3nnv695h7dnpv3te/feKD54HqvRu+1hxoPr/Vp9l3v1+pvfKTzqGlg00DLoOFg25DZUNew9fCDx5sfD4y4jYyN+oxOjgWMvX0S/uTTeML48sSup9inec+YnxU9539e/kLmxcVJzcnbU2ZTvdMu0xMvKS/fvYp9tTKT/Zr0uuiN0Jvqt6pvm2ctZh/NbZmbeRf9bnk+5z3L+9IP0h+ufjT62LvguTDzKebT+ud9X3i+nPuq/rV90XHx+beIb8vf85Z4ls7/0P7R/dPj55vlxBX8yvFVmdWmNdu1p+sR6+vR5Bjyxl4ADVtUUBAAn88BQPICgO0RAPSMv85cGxxwi4xAHojdEUXkHaoDHYuRwMxhy3C+eBH8BF05IZRelX6FoZ94mhTHuJlJhhnHPM3SyXqWLZc9isOd05zLgzuCJ4f3DF8T/6DAvBBBWFzEWNRPLE28ROKm5LjUTxk+WQM5f/kshWrFfqUvKtyqhmoU9XyNy5oDWh90SLqyehab/PV3GhQbXjXqM35jsmbGba5oYWbpYRVmnWpzwPaUXb397c29DuOOr52+uiCuRDcud34PIU8xLylv+S2qPrpbTbfZ+rr5UchR/jsp+wNOB14O6gweD1kIpQsTDteJcImMisqLrtreFvM8djmeO0Ej0TVpe3JhysUd/akfdzKnq+1yy0jKLM1qy36dQ9yjttc7NzOvOn9o38oByQKHwuSDlYceHv54lKlI5Zjb8aQTpcVtJW9Okk5pnPY5k1V2oXyg4nsV/1njc4Hn91Sfv9Bd86p2vZ77ovIly8s+DTFXcq+eunbpevONu41dN+823bpV11x8O6OFcseolat1ru1me8Zdyw5Cx/3OnC7jruXuq/fCekR7xu8ffGDXS+wdeFjU590v2D/9qHIgaFB6cHbownDoY9nH70ZqRsPG5MfeP7k4vn1CfWLpafOzjOcWL0gvhieLp7ZNi07Pvrz2as+M72v9N2JvmWexc6h39PN877U+bPm4Z6Hp09cv6l+TFlu+45ecfpT+fL2iuBq/1rS+vhF/MeQSygvNgm7AbMHSY+twnnBXc5GOTOAmPKDPZjAhYol3SbsZrZkYmcaYy1nCWbXY8GzP2Hs5ujhbuW5zN/Jc4b3EV8t/TqBSsEKoQrhcpEy0XKxS/JxEtWSd1GXpqzJNsm1ynfL3FQYVx5SeKT9Xeab6VG1cfVTjseaQVr/2fZ1O3Ta9W5uu6tcZVBoWGxUYZ5kkmoaabTXfbGFkqWIlbM1sA2wWbJ/addrXbj7ssMPR38naWdmFxxVxnXUbdL/lUeVZ4JXiHbjFwWfTVqltbL6I7we/CXKP/w1KVcDhwOygjODMkCxqVmhmWFZ4ZkRWZFZUZnTm9syYzNjMuIz4XQm7EtOT0pN3pqTtSE1NTduxMyU9eVcSzI6CrKrs5t3DOe/2onN581Tzrfb57U88sK+gsrDp4KNDrw+vHGUpkjqmf9zpRFBxasnB0sqTTaf6T788872cWCFSqVllc3bbuRiYISUX6mvaaofr3tT/vES8LNigdMX4qvM1yvXYG9mNR25WwRmso3no9suWuTuPWuva8tqD75p1CHesdI51Xek+cI/aY3pf4P63B/295x6m97n3KzzCPBofuDyYM+QzrPIY+3hi5PJo3hj1ie246oTQU7ZnTM/ZXohM6k35TR9+OTwj/XrfWzCb+050/uGH3AWnz9JfGRaXvn/8Mbf8fvXLRvzlQAdii4yhtqDeo8PQS5hMLDe2HKeBewB3tKt0JQQDwiT9HgZVhhfEfNIm0jzjSSZnZgbmTpYDrL5sKuwY9mGOKs4kLntuIe5Fnvu8ZXxJ/A4C0oKI4LjQFeECkVBRCzExsTW4j2qULJKKk3aUkZZZkR2Qq5JPVrBXFFH8pNSmfFDFT1VR9YdaO5wfXDS5NSe0TmuTdUR1pnRP623bxLdpVP+wgYMhyXDQqNiYYiJv8sX0llm2uZ0Fu8WEZQWcL1Stf9i02u6xc7DnhPuJcgeqo6LjV6cm53QXc1d61z63g+6uHlwe456nvPy9pb0/bLnus2urzTbOba/gPiCb7OEvT0FRxgOuBhYGRQTbhshRGajvQx+FXQ0vikiM9IzSjeaLXt3+IqYttiIuJ56aYJ+oksSZtJw8nXJ/R0NqSdrundHpPrusMzQzxbJYs5HsT7tf58zsmd37Ifdz3rf8n/vWDqAKcIWEg6RDzIfZj3Ad5S0SPCZyXPyEVLFsiUKpykn1U1qn9c4YlBmX21ZQKjOqTp9tOTd+fukCZ416rVNdRH3exXOXOi5PNqxc5bqmdt3hRmjj7ptlTc23Rpo/tRDvSLYatW1t33H3WEd9Z1fXs+6vPUz3lR649e5+2NKPe+Q70D1kOzw9UjqWOJ7y9OwLwlTtq2NvBt7Ffyz4avSjlhb/X7U32pqA0wSgyhAuCHDdcCkHoKIZAAltuH5UAeBIAsBVB6BcUwDyvBEgXif+rh8IwAA6WNPhARJADVZc3EEYyIRnyWtgAHxEmBAVxBVJgWfA+8giig9lggpFHUa1oObQ3GhLdCK6Gv0Uw4yxwKTBM9kCPIeFwLPXDE4CF4KrwX3Ea+DT8F10zHQ+dNV03wlWhFLCZ3pr+nL6VQZvhkYiNzGF+JxkRqpl5GTMYPzI5Ms0yGzBfJtFk+UyqyJrPZsS2xV2HfZ2DluOMc5gziWuQm5Z7k4ef14EZqkJ3wx/noCywIhgupC00JDwThE5kSeie8V0xObET0o4SeIlW6QSpJWl52WqZYPlpOTm5OsUYhV1lFBKvcrHVQJU1dTQasPqZzVSNB21JLXWtEd1GnQP6IVtstGXNSAafDAcMmo0PmOSaxpn5mdub2FqaWClY61uo2KrbKdsr7JZ1UHTUc/J2NnaxcXV1y3CPc2j0LPKq9l7dMviVs5tur4UvwPkFv/PAdKBlKAzwS+ogqGUsLoIELkl6s52hZiqONn4W4leybiUu6mFO8N3+WRuyQ7Oyd5bm/dsP3eB+8GSw4NHl44LFzuU5pzqKKOrcKoqP/f9gkttw0WOy6lXXl53aLx1S+b2iVb69tSOxe6dPeu92/sGB8SGyI8LRmuf3Jy4+qz8xa4p15eCr168Ln7rMLv+rva950fMQv1nz6+YxcvfyT/Yf/asZK0Zb8wfCKw5MMCKgzBQAsYw+hFgD6witIFpBAtrA86wDlCNjKJwKBV4ts9HNaHm0UJoV3Q+ugO9htHFJGJuYJaweth0bCeOhHPHlcOo6+P34yfp1Oly6aYIeoQThB/0W+hbGaQYChh+EkOIYyQbUgujJuNFJnmmGmYF5gYWXZYOVifWKbZYdjr2Mg49GO0keMK8x53AI8Ezxrufz5xvjf+WQIqgnuCaUIfwPhF3UTHRT2J3xYskwiRNpQSkfko/kbkle0ouUd5BQVYRr/hWqUe5XuWIapoaVd1Dw1JTR0tRW1JHWJdfj3cTn76QgYShgpGWsZmJq2mQWYp5gUWh5RGr49anbM7ZXrZrse/d/MzhkxPWmd9Fy9XJLdq90KPBc8RrdYuUj9PW9G0XfafIHP62lN0BdwKXg/VCUql3wjDhdhFHI6eilbdnxAzFScMVaSJJK7koZSnVJ+1uuvyu45m4rMTsdznkPU9yXfMG9jnuHy7wKpw8RD2iXyR5nK0YXfLj5OfTH8s+V/w4iznPcUG21qw+4NKehktXX9xguWl1K/t2ZytDu2vHqa4XPZwPzB+G9KcNZA+lPw4ZNX1CGu95Gv+c/UX5lPh0ySv8TNDrlrekWZe5o+/63mM+aH70X9j36dLn4S9fFlm/KXy3XCL/2PHz0HL1yp3VkbW5jfij4NfPCkTgt28DK3CZoBxWjeYRDsQYiUbKkRFY4zFExaPqUG/RkuhA9Hn0PEYNk4q5h+XEBmFv4hhxgbg7eD58CtxzGtBVEkiEHYQP9BT6pwyeDKPELcRpUgRphbGQSYapi5nKwsJymzWKTZJtir2cI5hTlXOVq507j8eNV4J3ia+Pv1pgjyBVyEFYW0RSlEuMKI6TQEtipeil2WVEZNXkbOWpCrmKdUrDyiuqkmpO6js1ajSfaNPpaOkG6h3d1Km/aChp5Gmcb9Jq+s1c3iLE8oLVexs12zS7ns3cDqGOLc7sLhGu3e7iHpmeU96mW6q2ErZF+Y6QDfyrAzgDs4K+hARSu8NEwtMiJqI2RZfF4GOj4iYSrBObkhVSKlL50orS2XYdzuTIKt4tmlO7Vyu3K99939yBXYU8BxsOGx+5VaRxrOGEcvGVUs2TzadNzzws966YrUo5RzpfcUGvZqQu9iLrpSsNHlfWrp294di42lTXvK2F9U5PW+bdTR1fu2rvhd/X7EUe9vWfHKAOqQ0vjtSPbR3HTJQ+k3xeOck1lTjd+4p7xvF11puqt3dmH8z1v7s3f/t92Yecj54L0gtfP13+HPlF4sujrzsWxRdvf3P/tvA9Y4mwdPAH74+Sn6w/85aR5eTlmRX7lWurAqu7V2fXjNeK176s26+fpcU/NkhNlbZ6AIRoAsuPz9fXv0gCgD8EwOrB9fXl8vX11Qp42HgKQGv4r/9zaMy0/4lKu2moq6Nxhnb/9+//AFPIzk8tJPCrAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMDc8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+Mjc4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cq5fHSQAAEAASURBVHgB7d0HvFXFtT/w5D0Dgh1FQVHpKooiir2hYI/G2I1dY4w19hpLYq+Jxl5j7D02sGNXsMQuiKBYaaKAGjTvvf8XJ//Jvvvse26HyzlzPnwus2evmT177f3bq8yaNT/9v//7v5+kX+JA4kAr48B/tbLxpOEkDiQOzORAQmZ6DxIHWiMH5mrQoKZNm/7+6A8+/uTTiZMmT5067fvvv//f//3fBvWQiBMHqoQD//Vf/9W2bZsFF1igY8dFllqyS8+e3du3a1f/e/9pPe3MsR+Oe3H4iLFjP6p/14kycSBxIHLgpz/9ae9ePdZYfcASi3eOlWUKdSPzq6+/HvrI42PGfKiX//7v/+7Zo1u3rkt36rSYj4FPgpoyvadTiQNVy4H/+Z//+ec//zllytefffHFmLEffvjhuKBgLrds78EbDZx33nnKc6YOZI4cNfqBh4bOmPF927Zt11xjQP9+K84999zle0xnEwcSB0o58M0334x45bXhI17917/+Ra3deqstunVdqpQs1pRD5mv/eGPIw48hXaZ3r802GdS+fQO05HiBVEgcSByIHOCdeXDII2M//IgV+vMtNl2+z7LxVK5QKzLfeXfkvfc9iHqD9ddZa43Vcs3SYeJA4kDjOMCzM+zpZ194cQTLc7tfbt2rZ/fCfopnTbheHxzysAYbDlwvwbKQcakycaBxHADIgeuvu/Zaq4PofQ88NGXKV4X9FCBTg4eGPPLDD//qu0KfNVZbtbBZqkwcSBxoCgdgc9llevHgPDT00cJ+CpD57nujPv3sc76jjQcNLGyTKhMHEgeazoGZvpt27T4a9/Go90eX9laAzBdeGoFu3bXX5I8tbZBqEgcSB5qFA+3atVtn7TV09fwLw0s7zCNzwsSJ48dPMDWyYt/lS6lTTeJA4kAzcqDfSn3Jv88+/4JnJ9dtHpmjPxiLggacQghynEqHiQPNzoG55pprmd49dTt69Jhc53lkiolF0XXp4jnQL7/8Mte+QYcnnnjiX//61/o3ufnmmy+//PL60yfKxIE5jgMi6oz5408+yY08H9E+efJM7C26aMccnUOwXHHFFc8888zddtvN4W9+8xuKMr0X7rlzRbeLcujdu/fvfve70Pbtt99u06bNPPPM4y8J7Pfuu+8imDZtmjAlkRAzZsz47rvvlHv16lV6OTUjR45EVngqVSYOVAYHFvsRa5MnT8ndTh6Z33zzLYr555s3R+ewQ4cOw4YN22qrrT744INTTjmlb9++880337zzzmt+JhA//fTT0BgbHnjggbDavn17mjT0IvvHP/4hfPCWW24RUgiQkImgW7dud911V2yVLfzsZz/Tf7YmlRMHKowDQOSOpn/zTe6+aiCT6Pvhhx9QgESOLhz27NnzySefJC3JvYMOOihHQwACZ6wE4zfffBNWgTOI1tNOO2399ddfc801XQUxfO64446R/qOPPpoyZQrKIGAh+auvvoLqMWPGgHEY27fffrv4j7/YKhUSB+ZoDrRpMxNrAXfZG6mBzHgiisFYEwuLLbbYvffeGw/LF5577rm777571113DWRwNXny5C+++MLhpEmTLr300iwyH3nkkfvuuy8IWATPP/+8MkzeeOONa6yxBmRCMjG71157bbvttuWvm84mDswpHKgNa8XILL2rZ599FiTIUlB55513xOOW0hTWQNdCCy0UTjE4aafhkF2ao//1j79QOX36dKBde+21XfH666//85//3KlTpxx9OkwcqGAO1EAmueRWC0G86qqrjhgxghK7zjrrRFjuv//+NM/InVGjRi21VA2nLsUVFIGZnYlSQwV/+XV4hk466aTYNle44oorfvvb377xxhtabb/9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we/777+HMe/9gAEDsv3UWdaDfMJvv/12jx49dE4g640wPO200zp16vTKK6+cc845Z511Fsm52267HXPMMehB1zcCunTuogb261//+tBDD11llVXU3HPPPe++++7pp5+eu7TOr7766qOPPloPxOZSSy2VI2iJw4TMluBqJfdJTg4fPjzIDW9q4a1CSKj/1Y+/UH722WcZbA8//LCXu7BVrBw2bBiY/fKXv4w1hYX27dufcMIJ0ggfeOCBU6ZM2WWXXRZbbDHq9A477EBg7r777kS0hgapUoF4XHXVVTt37vzFF19QR5dccsnll19+3nnnPfXUU51lOR922GG+HfGzEi4Kk2hgeK+99nrsscdoAQsvvDBNIXxTSHvW7Morr7ziiisG+ub6m5DZXJysin7efPNN7/EiiywS7pYIgiLiKHvz1NfoL4n13uCjjjrqoosuuummm7zo3n5GHYU22qVEWSQG/n/84x91IhO9Hgi6F198cfHFF//Nb36jhnzzl6xef/31Q4c+BAFsjFtjU7nMMss8+OCDDmmwr776Kt2b8fnee+8h22OPPXw+brnlll69eoXmbpDCbLThg8J75IuQ3Vfu3nvvpRckZAZ2pb+zgQPS23P52BvGCx0uzw+00korUQ75Nk8++WRWH6QNHjy4d+/eufHtvffe2jI+//a3v3mzg68FgK+44gpybNttt83S87hAcramtvINN9xA7nFBtWvXDrZHjx7NIPThMNRFF130+eefDxosIBGtO+20U7YfGPaVMWb6sPpu3br57vhqwG2W7MYbb8we3nnnncacNYmfe+454jdL0zxlQ6+GH2ZVw2027h5PP+t8/+psC3XeS2R9+vShEGbpR40axVTL1sQyuQqW3ng4jJUKH3zwAcOSKUjuZevrX9Yz9ZXriM/G1wEm6dhAyHBdYoklvv3229q68uGg61JoKaIwFshIXZ8DZWfDnFBpc46rnj17MlCfeuqpeNa1ctyIp3KFevI5tErabPN84KqhF4IuK9y4VbyRhBUl0CvOtKN/sr4AZurUqQcddBAZRXvcZ599GIGQk9VXsYs7lM8z+nUbwUBCz0wmT+/8889PdF933XUuRH4OGTKEIDUSeinYw5sy81KZaops7NixTNPf/va3hhqvC8/BMxRrSgs0ZzfFXtX24IMP3n///fXJJG7eSaBw3YTMUv6nmnpx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jOYLDmWmJ0A1P8wRgHsREZlYRqhA/nwliheNiSnlRRNasfKJitYKmlYEFIFAIHBRMCMQF1CZioAi4AsCSkVfUNIyikDAEfg/Fu80dqklA1UAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAnoAAAFDCAMAAACa6VPGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphODc2MDNmOC1kMjk4LTQ2NzUtYjMzZi05ODA0ZWI4OWFmNjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDRDNDlGN0VDRUZEMTFFNEEzMzNEREI3QTU2QTlFRTciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDRDNDlGN0RDRUZEMTFFNEEzMzNEREI3QTU2QTlFRTciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YTg3NjAzZjgtZDI5OC00Njc1LWIzM2YtOTgwNGViODlhZjYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmE4NzYwM2Y4LWQyOTgtNDY3NS1iMzNmLTk4MDRlYjg5YWY2MiIvPiA8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Tv/u8VlM3b43vvQ3vgTcer25niv2nKTOA+V7B2nzMZQrJk5nNrD3hncEBxVl9nPTmwson3yud+/xsmV6kz7cTYOfs6CH7YJVUF48u7/V33hPXUzH+44ep0yvNXIlC4IrIO/X+hvv6aE8S5me3YerpW3xmCNXHsupJwb6N1gP6rb8ecjxep717q9MLzJezzvvfsU2IxTeeXcTFzYj6NVN5J13N3FJraEnJO3dgauHz/BvNvJ4Mlef93lKV0sRiCC6eYkvb6PCnha/ReKTgK4+F3j1t7a7dxF2SwcyufF7fj7rTTzC5yK/a7LenRdTQiMi4BPVv1foC6y3/Oo/E+sZcFyH9u6+lOpIjyfCIW35td165PKlj92bBF5rP/yYiPJ1/rDuaCEsF8uposvdwhsK8F5LAIce6qFsIvDOuxs6Gqf7X4ABAI7foY6FaD2TAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAAZ0AAAELCAMAAAA1PqvOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0QzQ5Rjc5Q0VGRDExRTRBMzMzRERCN0E1NkE5RUU3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0QzQ5RjdBQ0VGRDExRTRBMzMzRERCN0E1NkE5RUU3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDRDNDlGNzdDRUZEMTFFNEEzMzNEREI3QTU2QTlFRTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDRDNDlGNzhDRUZEMTFFNEEzMzNEREI3QTU2QTlFRTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6VsNThAAAAYFBMVEUjL0VtlM3r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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P3lwnsAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbf2n9FvsAt/af0W+wFFeH/ABavR+8uKcP+LV6P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jIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AEjIAdAV8DRsAIGAEjYAQajIAdgQaffHfdCBgBI2AE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qCQgRyAgkmEIMNogqf3dBjtZQxQBEagkIEcgINLtZAFGGyS1v9tgJ2uIIiAClQTkCFQikoIIiIAIiIAI1JeAHIGwbzVVHGC0QVL7uw12soYoAiJQSUCOQECkqeIAow2S2t9tsJM1RBEQgUoCcgQqEUlBBERABERABOpLQI5AffetRiYCIiACIiAClQS6KjXaSIFTxXPnzrW+vr42GnV7DrWzs9P4URABERCBdicgRyB8A2bPnh1ySoqACIiACIhA/Qno0kD997FGKAIiIAIiIAKlBOQIlKJRgQiIgAiIgAjUn4AcgfrvY41QBERABERABEoJyBEoRaMCERABERABEag/ATkC9d/HGqEIiIAIiIAIlBKQI1CKRgUiIAIiIAIiUH8CcgTqv481QhEQAREQAREoJSBHoBSNCkRABERABESg/gTkCNR/H2uEIiACIiACIlBKQI5AKRoViIAIiIAIiED9CcgRqP8+1ghFQAREQAREoJSAHIFSNCoQAREQAREQgfoTkCNQ/32sEYqACIiACIhAKQE5AqVoVCACIiACIiAC9ScgR6D++1gjFAEREAEREIFSAnIEStGoQAREQAREQATqT0COQP33sUYoAiIgAiIgAqUE5AiUolGBCIiACIiACNSfgByB+u9jjVAEREAEREAESgnIEShFowIREAEREAERqD+BrvoPcXgj/POf/2x/+MMf7KmnnrIlS5YMr/J6pr3JJpvY1ltvbTNmzLAttthiPeuduiMCIiACIrA+EJAjEPYCnYAHHnjApk2bZvvtt59NmTIllG54yQULFtgTTzyRxrTHHnvIGdjwdqF6LAIiIAJrnYAuDQTEjzzyiE2dOtVe/epXb/BOAIdFR4Zj4Zg4NgUREAEREAERyAnIEQhE5s+fbzvssEOQFCe7uxfawoULrbu7uHx9k3JMHJuCCIiACIiACOQE5AgEIosXL66YCVho13xhf9tooylJb6ONOuw7v214A92//aZ1dHzTRts36H78CrR7lPVvJvS29SRnBjg2BREQAREQARHICWiNQCCycuVK46csdN9/ub3rtIV2yyNLbP+tzP70+OO2cItGnXHb/7Xde6/ZOLZR1sAI5CuXrkKtP6V+NelaZcvNxlVZWQoiIAIiIAK1JaAZgWzXrlq1yvr6+go/S5Y+D+1f2FKWjx1r03bZxXaZODbpLpn/czv7ip/bkv66S+bfaace0GmdnZ12wCe+ap846gA767pHGrqPXG5HnXq5/frOy21PlHd2HmAX3Tm/cJt9fXQrvE9L7OpTj7LLf/5zu/zUPRtto535S4r76+PgmBREQAREQAREoIiAHIGMis8KuBGN8cTd/8qOhf7Br5hkp11x54DRTzpLF9jF/7agYcyXPGgf2n4/+9r2F9j9Tz1mn575lP3blT+yHz61tFG+dKVd+bVjbY/9zrfT777bvnvsj+z9/3DN0PbcGUnTAKtsZX9+2VNX2rF7723nTz/d7v7hBfYjtHPNg0tKnIi+/pmE0ZyjyIApKwIiIAIisEETkCOQ7T6ePbszsFo8bqad/9zP7Zw5M+3L79nfpmz0T3b/841LAytX8qy7UXfpYz+1S2ym3XXOHNtl0ha297s/ad/Zj8WuS8O8n902/wZ7+8yZ9jcfOd/sgSvtMTgIq22z/3rAgPxp1DznLrvhH95uM9/4bvvOTLMrf/FYYT2voxmBbCcrKwIiIAIiMEBAawQGUDQSy5cvN37Kjef2Nuec2+yv3n+1HXnACfb6I15tf7z2ULOe5amBZcuWId2B9CQzpJelWfluWw7bv3J5D0TLrLsHC/d2P852GY9yqHcn/ZXWM6A/2Knu1K6XddviBWZHzJqe2kFNW47NeLuDtQZTHR0dNm7cuEGBUiIgAiIgAiIQCGhGIMAYTnLLmYfady94l9ncX9mfV6vYkyQDdxB0/9nmzc2UftXQyaQtZUdes6XmpSQCIiACItBGBOQIDGNnPz33arv6/x7C8wO68XnCbr3++2Zv2N3yh/dOmP4X9i6bawcceY5dd8vV9oHtXmufwXZyvXzTA45DXlCRf6GiXMUiIAIiIAIiUEZAlwYKyHA6vejSQM/Tt9oJJ5wwWGP3E+22a99mEyBJRnz3/qIJu9jXfn6DTf/MZ+w9R5p97dob7A1fOtCe2B7z+B5c1/NwE9jOamE8JYMuBLP5jMAuSWe1mknAsSiIgAiIgAiIQBmBVqxE1PF0HvvMAuXxQ3medxnjsk9nfxnjPE3nhfUoZ9p18th1XoVFc6e3YhAvvPBCO/roo9MaAS60KwycDYAp7ukZb5tuWmi6UzWo2QQvfuH/bOpOb7Wv3zXfjn6FCwtbH3XhmDFj0hqByy+/3N73vveNevtqUAREQATqSoAnhDiGfg7j+zU+ffjQMDAu+vQGHU/ndbw+47IPV5Z5WWMVOleiN2QxzzQDdRk8n8exLCnmf2gsFfoJbLzxxvbCC42J9lLHAdZ9woRNmzoBnB+4fNupeMb/O+wf3v+O5ATYu/7T3raOnQAfA8fEsSmIgAiIgAiIQE5AlwYCkW222cbmzZtnu+66a7ovn4a06BJBqFKS3MiOeex+2/uJp+FY9Njff3wXm/mKLUt0147YnQA+0Ihj4tgUREAEREAERCAnIEcgENlhhx3sV7/6VZJst912NnHixFA6vOTLpu5ke+LzUga+X+CPf/yjPfPMM7b77qstSngpu6Zti4AIiIAIrCcE5AiEHbHtttumB/M8jncI3HHHHbZ06dJQuuEleTlgq622st122804NgUREAEREAERyAnIEQhEurq6bPr06cl49vb2JqcgFG9wSS4U5JjG4r0IjBVEQAREQAREICcg65ARocGU0cygKCsCIiACIlBbArproLa7VgMTAREQAREQgWoCcgSqGUlDBERABERABGpLQI5AbXetBiYCIiACIiAC1QTkCFQzkoYIiIAIiIAI1JaAHIHa7loNTAREQAREQASqCcgRqGYkDREQAREQARGoLQE5ArXdtRqYCIiACIiACFQTkCNQzUgaIiACIiACIlBbAnIEartrNTAREAEREAERqCYgR6CakTREQAREQAREoLYE5AjUdtdqYCIgAiIgAiJQTUCOQDUjaYiACIiACIhAbQnIEajtrtXAREAEREAERKCagByBakbSEAEREAEREIHaEpAjUNtdq4GJgAiIgAiIQDUBOQLVjKQhAiIgAiIgArUlIEegtrtWAxMBERABERCBagJyBKoZSUMEREAEREAEaktAjkBtd60GJgIiIAIiIALVBOQIVDOShgiIgAiIgAjUloAcgdruWg1MBERABERABKoJyBGoZiQNERABERABEagtATkCtd21GpgIiIAIiIAIVBOQI1DNSBoiIAIiIAIiUFsCcgRqu2s1MBEQAREQARGoJiBHoJqRNERABERABESgtgTkCNR212pgIiACIiACIlBNQI5ANSNpiIAIiIAIiEBtCcgRqO2u1cBEQAREQAREoJqAHIFqRtIQAREQAREQgdoSkCNQ212rgYmACIiACIhANQE5AtWMpCECIiACIiACtSUgR6C2u1YDEwEREAEREIFqAnIEqhlJQwREQAREQARqS0COQG13rQYmAiIgAiIgAtUE5AhUM5KGCIiACIiACNSWgByB2u5aDUwEREAEREAEqgnIEahmJA0REAEREAERqC0BOQK13bUamAiIgAiIgAhUE5AjUM1IGiIgAiIgAiJQWwJyBGq7azUwERABERABEagmIEegmpE0REAEREAERKC2BOQI1HbXamAiIAIiIAIiUE1AjkA1I2mIgAiIgAiIQG0JyBGo7a7VwERABERABESgmoAcgWpG0hABERABERCB2hKQI1DbXauBiYAIiIAIiEA1ATkC1YykIQIiIAIiIAK1JSBHoLa7VgMTAREQAREQgWoCcgSqGUlDBERABERABGpLQI5AbXetBiYCIiACIiAC1QTkCFQzkoYIiIAIiIAI1JaAHIHa7loNTAREQAREQASqCcgRqGYkDREQAREQARGoLQE5ArXdtRqYCIiACIiACFQTkCNQzUgaIiACIiACIlBbAnIEartrNTAREAEREAERqCYgR6CakTREQAREQAREoLYE5AjUdtdqYCIgAiIgAiJQTUCOQDUjaYiACIiACIhAbQnIEajtrtXAREAEREAERKCagByBakbSEAEREAEREIHaEpAjUNtdq4GJgAiIgAiIQDUBOQLVjKQhAiIgAiIgArUlIEegtrtWAxMBERABERCBagJyBKoZSUMEREAEREAEaktAjkBtd60GJgIiIAIiIALVBOQIVDOShgiIgAiIgAjUloAcgdruWg1MBERABERABKoJyBGoZiQNERABERABEagtATkCtd21GpgIiIAIiIAIVBOQI1DNSBoiIAIiIAIiUFsCcgRqu2s1MBEQAREQARGoJiBHoJqRNERABERABESgtgTkCNR212pgIiACIiACIlBNQI5ANSNpiIAIiIAIiEBtCcgRqO2u1cBEQAREQAREoJqAHIFqRtIQAREQAREQgdoSkCNQ212rgYmACIiACIhANYEN3RFYhSHykweXe5yXKy8CIiACIiACrRBwO+JxXqdMnuutt/n1yREgzDwUAXY9j1nH9TzO21FeBERABERABEaDgNsZj71N5hk8buQG7ZPnPc71XL7O4/XBEchhEkIRoCK9dQ5MGxQBERABERCBCgJl9iq3bWV6Fc2PbvHadgTyQcfeFwEoksU6SouACIiACIjAhkygyM4VyeIYWb7Wwtp0BMo6XiYf6SBje0wX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+eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU++eq6EBACQkAICAE5AroGhIAQEAJCQAgUGAE5AgU+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EBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WAEBACQkAIyBHQNSAEhIAQEAJCoMQIyBEo8clX14WA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Uykkd4tLUq44c6y9ZGv3QL81kySMwqE4mSfJo0syiWr9olaK1oiKU6BmLpNkZXOFZK30M5y0UOFcIRlEvVwRSdJVUOhlmoWUCxrCgGcG33Lp2R0PR/Aord0DOHJju2H6fcS34o0xq6ACNXOZJCubK4o5bpcQ8lPhnNx2WvWLwhk8ZoRz4jZ6ZR5aYE0jmXKRJ6Mj6eoGZLfmgTEI/9h+I1aDVuYP0syzy+bJSD6H4bvF0MIkYwuhnNdJKk5xN97hMtXMY65UKMNyXuiPwSKDjJWtZh4eGc4wc6pq5aCZV5Teyt2HCslfuktbFufMy4JkWZwzLwuS2TTzB5sust932LwQGb7cSWY5Zy5vrO/sVu49+MOI7PcckS5Ihi9zktnOmVObus580ZX3np0gI7KrJFfT34eCZPhyJ3lXM+9uROgbnujEOOhEodlJPBE4Jafig7MOtandAJNQ6wzltLxYI49begadyG8/GLH9MZDMopnb0Q4MSFn6OTpF1Yo+TrNbaaojEI1f7JGTlJdBwCe/lp5B795r8bLH0x8DySya+S4in8ZR5Egq8Kj6uENtXlnAYtw6PdH9VHB2qkcV1fOVRF1jxPbHQfKOZk6yu1eVcVXRUSUpN8mxWeQ/8a2R857VwjZST8+yB6kZsf2RkMzUzKG2nPF9CkkAlYWk0m/dT8bkdzImV8SsJO2PiORdzTxYJ05QkrVSa0JCOUh+QDsnq/w0nSdXROEsoAvs/NijI3lXMyeFd1z+LMYs/845pOrjlIrcVBc3pwjxc7Qy76I1YVu/VRGU0BdGbH8cJO9q5pybkxsRGKDoMtcfiifvu9vgfmy7Rd1nybIz4WfJRzMq++4CSObWzPu9VdcVBaMwkpVz5kaRNHOMFZIVkhWS/1eS/wkwADFF+sVJw48EAAAAAElFTkSuQmCC
/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QMsaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4QkFGQkE4M0YyQTYxMUU0QjkyQ0I2REQxRDFCOUI2QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4QkFGQkE4NEYyQTYxMUU0QjkyQ0I2REQxRDFCOUI2QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhCQUZCQTgxRjJBNjExRTRCOTJDQjZERDFEMUI5QjZCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhCQUZCQTgyRjJBNjExRTRCOTJDQjZERDFEMUI5QjZCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAEAsLCwwLEAwMEBcPDQ8XGxQQ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mWee0047rQhE//79X3311T59/nvV1Vdf/c9//rN379733XefzL///e9/+tOfHKZLMn+89957RxxxBL459dRTDz30UNzz8ssv/+QnP/nlZ79DDjlk8uTJ6ZL333//mGOOcQuHL730EsL497///de//vXRRx+V0DaZxfbk9MiRIxPf4Iwf/ehHmCyfqjEx9pOPn/3r3X+54swxrzy51CLzLrn48JHP/aPGa2disd/85jc13h0y6bHWWD6KBQKBQCBQEYGGktzll1+eTD/++ON/9rOfrbnmmm+//TYRPMccc3zyySeE/EknnVQs/9FHHw0aNKhv374DBgwQpOSOO+5w9rjjjqM0EFIff/zxRRddhGmcUgBhOHvQQQc1NDRMmzYNJx122GFy9t133379+qVqF1pooaOPPvqnP/3pueee+9Zbb6lf5aNHj8YraKOxsXHuuedeeumlFX7zzTfxkwvRlZ87kolKrrfeeu6FfqQXXXTRVG31vxPGjX3oxt+Mfu1f8wweuMiCCw7o1zTpzdc++uCjhZbfcPJniktTr6bevfr0H9A/M2KVCpEivUdHvvCFL2i/bn744Yevv/568RKYOCsHC44dO7Z4SgeXWGKJYk6V9Guf/RTQdxQ777zzLrLIIqn8xIkTn3/++fnnn19LUo4RwOKLL77zzjtXqTCd+u1vf/vHP/7xD3/4Q4slaykwatSoE0880Vv0zW9+c4sttqjlkigTCAQC9YxAKW1o67bbbrvYYouR+G+88cbss89OhyD4dthhB1K7vCdZkv7+979fcMEF999/fwrHl7/8ZZIxFy4Je0ULyYpIKlMsQLQhJ/ddddVVL7vsMvVgLGKRMoEb1l133XTJrbfeihjQBl5BG+QyKpKjKol//OMf+Iwek9vQXAIh3X/dBQ0TP1hj/XUGzTG72no1NU0aN75x9iHjPxn50A3n8nBMmz5d4K7pvXv36T9otY23GbZws2xE1Oo+AF988cXLL78c1d12223k5gUXXLDwwgtDNTVDMWY9aYrdZpttJnHllVd+5zvfkUA5l1xySSrW4l/kmqiXLZFo1nHVpidy4YUXXnvttWeffXamDSJ78ODBLdapwO677/7kk0/WUrKWMsOGDfv1r3/NigiNWspHmUAgEKhzBEppwxe+zTbbfPGzX2o6wUcWk24PPvhgSWfIcb8kqUkuegOx6/Dg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ivYFArMGAkEb3eA5M08xVXWDhkYTA4FAYBZAIGhjFnjI0cVAIBAIBDoOgfBtdByWUVMgEAgEArMAAkEbs8BDji4GAoFAINBxCARtdByWUVMgEAgEArMAAkEbs8BDji4GAoFAINBxCARtVMBy0qSJo94aOa2x8h4VFS6IrEAgEAgEZhkEOow2/vznP9sgqA24NTY21njVBx98cNtttxULi9lX3Kju5ZdfHjVqVLFAa9MTxo975pF7773u/PtuvPjJh+9p7eVRPhAIBAKBHo9AhVCGhO/vf/970VKLu/0AQqhUYVY///nPb7vttuW4LLfcckcdddTpp58+zzzzlJ+9++67bT/X0NAgmCuesJvp2LFjLWSzdYQ6f/nLX84xxxyuuvzyyz/66CPF0rZCoreK8r3UUkt99atfddYl99xzz9Zbb53rv/XWW9ddd117oKYc+9zZYfvrX/96LlB7YuwnH4987vHXn3l0yOCBSy0ybMy4Qa8994/VN/xK7TVEyUAgEAgEZgUEKtCGWNzG9Tgg9d/Oo0cffXRaonzfffe9+eabRVyM99955x1SXkRujHLyySdvvPHG4njjmPnnn98G16nwsssuSw9QDBuhFlH5sAuqKO4MoSQO8NdOpXaSOPLII1WCNgQJt0U2bhCXCaMU764xG264YcrBMc8//7wgHC5JfDN48OBi4ebSE8aNfejG34x+7V/zDB64yIILDujXNOnN1z764KOFlt9w8qRJrmrq1dS7V5/+A/qXtLa5CkvyBaC96KKLTjrppExvxQI2w3A4cODAYmaVNGwPO+wwvItNU9yRKoXjVCAQCAQCHY7A/0jhVDsCINyz0kDW44x0OPvss5cI7kceeYQwXXrppV2bSUL6hRdeeP3113OO3YFuuOEGwlGgb2oHtYDOgRVQlF2Gvve976VbL7nkknLOPffcY445RjMuu+wy5OGOtp1YfPHF5aRi/l577bUPP/zwhAkTRAinshx66KHkr5J4y1m0t8IKK8jM5ZtLuN39113QMPGDNdZfZ9Acs8/QcuxrNG584+xDxn8y8qEbzuXhmDZjv7xe03v37tN/0GobbzNs4UWbq62YLxzI/fffT7Jvsskmr776qqYWz+b0X/7yF/36yldqVWugfdppp+FFdJ4rkUiMbmvxtnFbsapIBwKBQCBQBYEKtEHukPJG7ukygvWll16a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CG2ze1tI91a2kFvFXFgibgbiPDRoAqgn/wAkf1GcruZA/wAkf1GcruZA/wAkf1GcruZA/wAkd1GcruZA/wAkd1GcruZA/wAkd1GcruZA/wAkd1GcruZA/wAkf1GcruZA/wAkf1GcruZA/wAkd1GcruZA/wAkd1GcruZB5/kbteBnwuZB4fMALxIYoy8AgO01AOsVog+TnwwSNZHGwyVxOAOkkUqdGkoMIXMQAGLV7qD676O0P+qDwXUZdXF/NBoeTfNQ+8Z8UINxy3UEGxWnAgsY9QQSoBQQTaigqrzUUGtZnqKCpyL9T5d9N/SUHV0Hgc0uLQRiGscKBjZo6Q06tOumtAL2DW4aTQaeEoPUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEHF8n+bi9434oQbhluoINitOBBYx6gglQCggm1FBVXmooNazPUUFTkX6ny76b+koOroNFj8mZ4M7zS+MkbI75k7IgJZHCN0tOkWOBxN0Vpi9Ik6NFJwXix7H2fZ3FlLrGW6jAfKJtJ3mEOieHtAwMBdvXCjjoA4NeKyjKk8k5pG+xEMofDbMix4XiJ+9aZHFzaMc1uFzxR2mmmgTicG8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOL5P83F7xvxQg3DLdQQbFacCCxj1BBKgFBBNqKCqvNRQa1meooKnIv1Pl3039JQdXQY7JbhzQ4YAHCoFDw/xQfBvAJN0Z4BL2ZdR3JiqlSiTHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DHcbWch50DezNIxYSCQDQEHSabUE6AgICAgICAgICAg4vk/zcXvG/FCDcMt1BBsVpwILGPUEEqAUEE2ooKq81FBrWZ6igqci/U+XfTf0lB1dBzz2ueas58veS5JslY92ZyxPMTmRukwtjZVxOH0dJGlY3XUZ2W1lwhvs1bdTNvps6zyTzFKWbzNXDFCZHDF80T82tH7i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gYBBGRxEzEQEREBERAREQEREBERAREQEREBERAREQEo3v5PcfhP9ky+Ub38nuPwn+yYEenfkNv8Ahr+qbM1unfkNv+Gv6pswESjd7yjZ1C28kAkKiqCzMx7FVR2mU7bqu33F/hillF5Gpa7kKFgO0r3yowymOqImuaZzxiamYtuxESVEREBEre+mu2ul2xZdnlr72kZb0SNG6q3BtWvOaHNT5GPaAB4eebU1daMuLq10SrxCeJ8NhtejmZwdOM6fpd/yS2ZMTDbsiIgImrsuobbfK7bdieUxRwRggj5JZtt1Vuldqs4rdqmyMe0hwZU45RdxMVuyMomqmJvZdERJaREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERASje/k9x+E/2TL5Rvfye4/Cf7JgR6d+Q2/4a/qmzNbp35Db/AIa/qmzA53Vaqr22tfPO33XML7V9OoF1HEEdnZNay/e7bdbb+41U36iy7fcVZVlcqTgq2fpAeSdPd7Pb72rlbhdSghlIJDKw7CpHEGUUdJ21Ny3s1l9qAitrnNmjPu5nbDPGMayuajLSufLJyywynK49Nb5c4csV3t0c9YO7tG70G4EOeUMH/b5f0ceSXqlnUOo2JbdbVSNvTZyq3KDW+ru7ptHoXTyxOH5RbWdvrbk6u3OjOJtptak3D7lQebYqoxzwwmccP0ysu9jr03evTpEdN1UJx7WWl7adWv1VxeeUbhej19TO6ubcpYqqS506RbytJTsOR3y6+zdbvfbtSm5dNuwrqG2sWsJ7IbU2WXJOfmnW/tm08ENjg8gHVjJznVzO355Hc9K2u4ua8myqxwFsap2r1gdgbT2yvNhczMccuma2iarb7WeHOoi+GPVrvMXf5OQtN26v6VZu7LFvcWq5SzH+2DhhoJALfvYk69nzv7pdz7azXfYa1rcoAyorajjt/TOrZ0rZ2VUVBTWu2/2eWxQrngeIPllibOitb1UHG5Znt49pcaTju7Jk9+K0uOFVt81/gR2ZvWp43f8ATTjrvN1YC7Wtlul84gEgczj7YHfMrVdtqum7wbm6y7cWUpdrclGW1eI0dnDyTpjpe0UYCtjkeF+kf9ru+f5ZY+x271UVMDo2zI9XE8DWMLnvmT3cOEVF66cCO1nxm5rTXi4ypbu+nbnqb7q2vcKbTWEcqlYrJATR2eSdnYMz7HbuxLM1SFieJJKjtnF3fTNzY24QbIl7mYq6Xadu2eyyystnUPLwnd21XI29VOc8tFTPfpGI7049MVMTeVxGmkVto3tRPVNxOkVM66ze+rz2xVtltq+rUglQ9te9QfvVcxsP86fqmF3Vq7MptixXdb+1S1RAcoSWwjNwBbvnoNvtKNtR4etf4RLEq3HOskt2/PKE6PsE2h2SoeQX5gGo5Vu9W7RiV58JmZyiZ+fT+319jPDlERGM18uv93p7XLSvqGdztqRuKK7KC9QutV7FtQ8NBV2bS3lmV6pdbvNtvBYV2iLVXemfZ13qzEn/AEnE6216dt9rY1qF7LnAVrbWLvpH7uW8kh/Zth4W7aBCKdw5ssGTnVkHgfJ2TPN25mbjlFxHPTKTxZ1FTzmr5fT7zo5us2Q3FzMz7hmuAY50o59hR8mnE3pFEVEVFGFUAKO4DhJThlN5TO1y74xWMROtQRESWkREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBKN7+T3H4T/ZMvlG9/J7j8J/smBHp35Db/AIa/qmzNbp35Db/hr+qbMBEqv3FdChrDgE4Hmz/4kF3tLVtZxwpAYdpGezszA2ImvTu6r1LVhjpGSMcZJNyr6sqyBM6mYAAY7fLAuiU+JqNPPU5QglfJqxnsz80WbqqtQxyQcn2eONP0s/NAuia53tH8TB1cvGccc5HyTNW6rtfQoYEjUCQQD3+aBfERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERASje/k9x+E/wBky+Ub38nuPwn+yYEenfkNv+Gv6pszW6d+Q2/4a/qmzAo3dNl1fLUjSfpKTjP6RmUeDu8O9JZdROoOMjJxjs/d9M3ogae32PLZi4VkYfQGcKc5wM9ss2+2Wss7IocsSNPHAPmmxEDUbaMKdAOplVwoPBcuT7Xl7AZi7Y8w5VgueJBGRqxjIm5EDU8I5S1Poh3UrxzhVI7x8kbXavQ4LEEaMHHecfJ8k24gIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICUb38nuPwn+yZfKN7+T3H4T/ZMCPTvyG3/DX9U2ZrdO/Ibf8Nf1TZgUW7pKtzRt2BL7jXpI7BoGo5h97tEu8O9yLdjPLLANjGez5pRvtrurdxttztTWH2+vK2ZwRYoX92advSN7cLa3ekJuLV3FjKGLq6qBpUnyeyOPdkQOivUunsyKu5qY2HSgDg6j2YHGRPVumAkHd0gg4I1r83fOdZ0Cwumh1FZrprtXLqByD2qqEBs/L2S4dGcU8ssmfD30Zx+9ewbV64HQu3NVDILCAr6jrJUBQi6yTkjyDySsdS6e1TXLuajWhCs4cYBPYP0zV6rsLrtmor9p6KbV0AZLl6mrAX9JlL9I3l451ppFoWpURNaLirUdWpSGVva4Y7PlgdQbvasnMW5CmkWagwxoPY2e7hKm6r01GZX3VSsnBgXXIIOD5fJOe3R+ocg1LdUzW08m1nB4Yd3BXHbwfHH55evSWAQFkJVd0CceXctqB/QO2Bv3bnb0Vi26xa6zgB2IAOezBmvX1bYPSlzXJUljOtetlGrQxQlePZwkLNheKNkKWQ3bLTgODof+Gaj2cR25E1F6LvEqIR6S91VtN2pToUW2PbmsfJr7D8kDfHVNlp1W2rT/ABHqUWMF1GttDEceyXputtY7pXajPV/uKGBKdv0u7snJXom6pRlosrfmV20vzVJwljlwwx5ePEeWbux6aNpsrNrlWNhc6yM5DcBrHl4dsCf9z2RQWV3JamsIzK64XILZOT3CSo3+0v2a75LAu3ZdWtiAFH1u6c/a9G3VRTmWIErsqda1LMAKldThrPaGdXBewS8dP3Q6OmwFiC6sKquAdJVGB+cEgdvk8kDYPU+nKi2Nuagj5CsXGDp4HzeWP7l0/ltb4mrlo2ln1jAY9gnPp6LuVF/Nesm1Nwqn2mIO40drPknGmZ3PRLnvW+qxVavl6Uy9YOhHrb2q+I+lwgdCnqG0v3Nm1qsD21othwQQVfsIIk9xutttVDbi1KlY4Bchcn9M5+16fvOn8dvy7NVdNbKdQwUdi5GSeGlz5Zsb7abi2+rc7Y18ytLKylwJXTZp4+z5Rp/TAuO+2S2ik31i0jUE1DOMas+bjIjqnTjW1g3VRRSAzBxgE9nl8s51nRNy1b7YWVciyxbmfQVsDqgXSoHshcr+gcJO/o1rmpqzXmqqqsA60OatY1K9ZBX6f/iB0TvtmGrU31hrgDUNQ9sHsK9+ZTuOr9O26Wu96HkkCxVYFgSdPZnvnPPQNyxTVcr6q6kuJLp/tMWyq1kBu3y+XjLD0feHaNtC9PLrRkofQdZLOLAXPk+jxx29sDet6nsKhYWvQtUhsZAwLaQNXZ80nVvtpdUtyWrobTxyOBfGkH5Tmcw9Cve6xnsXRY1toOXJD3IyEBM6OBbt7uEl/at/gJzKgjtQ9vBs5oCjC/IdIgdJN5tHqe9Lkamv6dgYFVwM8W7JA9S6eKhcdzXy2JVW1jBYdolJ6dYvSF2FLIlqoi68eySuC3nx2/pmpT0jf0WNer0taxs9mzW66bgmfabLEgp+kd0Ddq6ts3qF1jiitlrZTYyjPNUsB9LtwPVLD1HaDDG1OSU5gu1rowW09+e2cv8AtO92zbTk6LXragEkHQvJpsQse7Jbh3SZ6HeVJL1s7ZZlwyqHa7n+wVIZceQ9ueMDo/3DacGFicnlm3na10aQdPfntmP7lszhhanJKl+drXQMMEx257TOf/ZN2UQtcjW1jK6gWUsLheqt2FhwwT2+WWP0jc3Wc25qgzYLoikLwurt/wDVwTtMDdPU+nrWtrbmoVuSFcuMEr2+aWW7rbU1C621EqbGl2YAHPEYM4vUNlu9vfuLtunObdpcmBWXUCwJgeyeDEjy8O8zb3PS77tvstDBbtouCpZkBymhvbr4iBfZ1fa1tYGPsVcWsyukg184Ffa48O6bO3vq3NCX0nVXYoZT8hnJp6DZWFTmrpAxwB8tDUcMk+Vs9s6GwTd1IKLwmiqutUdM+0wBD9vk4CBNd9smaxFvrLUgm0ah7IHaT80iepdPFQuO5r5TEqr6xgsO0Tmv0HcOL6zaldViuFVNZBZnFoOlj7HZx0njJVdH3lF3i62qO4YuGSw2WJpdUXOpyW1ex5uEDpVb2izZpvWYVUOgfU5AwD3nslVfV9g9dlpuRKq7OULGYBWbSH9k5+WVf2y0dK2+zDrzttymViDy2aohsEduDiUp0vfJcd2GoO4Ntr8shuXptRE7e3UNHb5eMDp2bnb1U8+yxVpOCLCRpOezj8sgm+272BFdSrKjI4ZSH16sBcHP7s0rejuenbXa12fxNoyuGyyBiAwIyh1L9LhiU1dE3NAV6rKzaprcKdenUr2uwySW/wDd7YHTO/2S2LUb6xY5KquoZJB0484xIN1Xpillbd1ArwYF14ccd85y9E3osWzm1iwvrssXWp/3Wu06MlXHtYGrsmwOkMEVSyZWvc15x5dy4YH9HlgbvjdnzvD8+vnYzy9Q1Yxq7Pm4yG36jtN1e9G3cW6EV2dCGX2iVxwPbwnMfoG4soOza1BtmfmmwKeaH0aMDyYz5e7hN3Y7Pd1bp9xuTVk010qtII/2yxydX+r9ECdfV+nPW9nPRErsaol2C+2vbjjJ2dS6fU5rs3NSuOJUuAezPf3TnX9F3L2NYlicLL2QanTKbjSTqNZByCv6RLtv0Y0LUupWFd6XZweKpSKccc8c8YG2epdPBRTuas2AFBrX2g3BSOPlkjv9ktr0tfWLawWdCwyoAyc/MJx16RvQ+52q8sU3VLW9rqTwZ7XPL+VQ3l8ss3HQ9zdW+25lY2/MtuRyp5pa0MNLeTHt9vlEDqHeUcuu2thZXa+hXVl0+Xjknj2eSRXqXT2R7F3NTJXjWwcEDV2Z4+WY3mzN9dFdZCCmxXxjhhQwwMfPNJujXDwr1PWLNpVUiqwOlmqJznHk48Plgb39x2fFuanJCLZzta6MMxUeXPaJCnqu0uJKsBUpszaWUJirTqb6XZ7Xrmo/SN21g3GukXqUcIqFa9aWWWEEDj2P29ueMg3Q9zajcyytbHa58Kp0arHqsUYPaP4fHvgdDbdS2m6seumwNoZUDAgh2ZdeF4+QCSPUdgHWs7moO30V1jJ8nf8AJNEdO6hz23ZagXm5bQgDaMLU1JBPbn2s5mNv0W6vb2V2WI1lhpJYAgfwrDafPnhA39t1Dabra+LqsHIBILMQANJwczF3UdnTuatq9gF1zaVXIyDjVx7s+SUL067+1XbBnXU/MFbgHGHYuuofp4ytOnb47xd5a9XM5wsKKG0hOUaSAT5fLA6sREBERAREQEREBERAREQEREBERAREQEREBKN7+T3H4T/ZMvlG9/J7j8J/smBHp35Db/hr+qbM1unfkNv+Gv6pswNPd77wt9SMua3S13IBZhywpwqjtzqms3XENtSVU2PrayuxAubFZFV+wHHY3fNnfdOq3wHMdkwjoChA4Wac9oPuzWr6GtTiyrdWV2BmcFVrABZVrYaQmnGFEC09b2OFZdb1lVd7FQlalc6V5ndxErP/AGDYBdWLdI1HOg/QQ4d+PaoPD9Uz/YtuE5dd1qVOipegKnnBSW9olcgnJzjExb0Ha2JUodlNSNXqwjEo51Ee2rAEHsIgbW66jt9slbNlzd/tKgyWAGokdnDEq2PVK99uLa6kblIldiXEey4sGZLedMo3aUqTobb/AO22lXwCNJBWxWU+aS2nTqtnYXqdiGrSso2MHl5w3ADjx+aBrt1ujn1qqsNuxt17hlITTSrMxQ+XivqmG65QLKk0tUGJa0XKUZauW9gsA8o9iZ/sdBIR7rG2680JtyV0qLgVfiF1fvcOPCD0Oixw+5us3DheXqcqP4eh69PsKPfJz25gZ/vm0BVWruW1yvLqNZ1sHDFWA7vZPzeWW7Tqu03lpqpLaipdCwwHQHSWX5MyFXSES+vc232X3VYVGfT9AKy6cKo98kmZ2HSNvsLNdTEgKURSEGlSc9qqC3Z2sYEX63tlsNYqudgzoCtZIZqvphT8kkOs7IvWvthLQCtpUhPaTmjifqya9OpV1cM2Ua5x2dt5y3k8nkmoP+u7dSpW1yE0kKwQ50JytJbRq0lfIDAs/v20yq8u4NYFNSms5cOSFK/Pj1yR63swEYraFcgMShAQlzVh8+XUPJma2x6Ruhua7945xt1RKV1h/oavKEThx8vHvllv/X9vY7OLrFLHUeCNg8xrhpLISvtNxx2+WBt73qFGxAa1XYEMxKLkKq9pJ7PLNYdZRbLOdhaqzYBpDMzBOVpx8pNmMS3qHSauoMrWWMmEasgBWGl8ZI1q2G4dolZ6Ht2Uh7LCx1e1kAhm5Z1DA7QagRAuo6pt7reTpsrt18opYukhiht+yJAdZ2hetQLMWlVD6fZDOxRQT848kqr6Tfz7rbNy/MNqW1XAJryK+UwK6NOMHukV/wCu7dGRlvtzWUYFgjNqrbUPaKZGfKBA68SFSNXWEZ2sIz7bYycnP7oAk4CIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAlG9/J7j8J/smXyje/k9x+E/2TAj078ht/wANf1TZmt078ht/w1/VNmAia+73lW0VGs/eOMZ8gGWb9Eop6ttrXZcMgROYzNgaVHbqlRhlMXETSZyxiamdW/E5h65t1NYZD7Qy5DLhOHYcsJbf1Wmix0ZCwXsII9o4BIGojiMjh8s3xZ7VuzyY829E0z1GtVV2QgEuGUldS8vOeGrs4dsxs+pVbuxq1Uoy5IyVOVBxngc+WZ0ZVM1pDevG6vduxK1uqdiiOrOM5UHjwOD6ZZJpRERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERASje/k9x+E/2TL5Rvfye4/Cf7JgR6d+Q2/4a/qmzNbp35Db/hr+qbMDS6jtrtxyeSBmti+WIABxw7Vb0TR2nTNzUbGNemyyvST7GnOnT2e1jHDHD5524nTHu5Rj0xVIntxM9U3bh/2veB1YdlChQpKFXAGAqApgYB/eHb55buOn7m661goUEnBJX21IQY4q2nsPGdeJvmyu6jTRnix21ck7TeeFqxVosD2M6hgXVHDDCNwGeMs6bsdztLP4uCrKSCNPsngNBOkHsHaOHyTpRMnu5TExUatjtxcTc6NIbBm3virHAwchUGOzKrk/MePfw8gm7ESMspmr4RSoxiLrjNkRExpERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBKN7+T3H4T/ZMvlG9/J7j8J/smBHp35Db/hr+qbM1unfkNv+Gv6pswESJDeQ4/RmMP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEokcP7w837Yw/vDzftgSiRw/vDzftjD+8PN+2BKJHD+8PN+2MP7w837YEomBnHHiZmAiIgIiICIiAiIgIiICIiAiIgIiICIiAlG9/J7j8J/smXyje/k9x+E/2TAj078ht/w1/VNma3TvyG3/AA1/VNmAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICUb38nuPwn+yZfKN7+T3H4T/ZMCPTvyG3/AA1/VNma3TvyG3/DX9U2YGj1LdXbdtmKiALtwlVmRnKNnM27LEqRrLGCIgJZjwAAnO64WVdlaEZ1q3VbuEUsQqhsnCynqO7Xqexu2m1ru5zKGUNU6A6CGK6mGMkCdo7fVj29Ki5jLLlrxcpz6cs+M1HTjzbu26tst1aKamYOw1IHRk1qPKmoDMgOt9ONgQO2ktyxbobla8408zGmc6keJ3e2auzd7h6SbCLlFa1EKRhjy1znswDNO6y63Yor+I5yOrWbWunl0VBXBPBU4/JxnWOxhOVfNw47Xfo5z3s4i9OPDevtegs6vsK7ztmsJuVtLIFYkcNWTgdmD2yFfXOnWvWiWMRaQqWFGCFj+7rIxmUbWo8/qtugg2ldDFSCy8odmflMpamz+w7CsVtrVtuWQKcjDKWyJEdvt6R81z0Rvxyi54cFTn3NZ+XTrnb9s1HHi6XVN2+y2F25rUM9YGkHsySBk48gzNOtuqrydxTuk6hUzKLq0RVwrdrIynyfLN3qL7lNo77WsXWLgmphnWufaA+XE4e5XYXaW6Tt7aOollK6K3qCcfa5nAJjEdnGJx2jXKbmoy0/q/bHqd2ZjLefp0i6+7nPo7bdT2Sbe3ctZiqlzXYcHIcHTjGM9pmdzvaUU1rYEtap7UbSWAVR9M48gnL3Oysfqp2hrJ2e6ddzY2DpDIjIyn520mQ2NG5faby3cVsLatudnUCDlhWramH+okR4u3UZXymv7tvunc8mdzFc4+79YW39Ws5+y21d+OYge64Us2vIUrpXHANnj3Tb6b1Zd9fuKcEGpyK/YZcoAvFi3lyeya+2rtG46SSjAJtXDkg+ydNfA90t6Yxr32/odHVnuNqMVOgoVQcG7JucYdMxGOsY3en7q5MxnPqiZnScoj/rbqRETzPQREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEo3v5PcfhP9ky+Ub38nuPwn+yYEenfkNv+Gv6pszW6d+Q2/4a/qmzAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBKN7+T3H4T/ZMvlG9/J7j8J/smBHp35Db/hr+qbM1unfkNv8Ahr+qbMDV39liVDlNiziVUDJbA+cYx2zXXcWjZvYLCw1eww4nAHHGSczoOiWDS6hh24IyJjlVe17C+2MPwHtD5YGhs7Ny3Mqcs7KPeAxk+QjPkk0e5EudmKKhYcxm1hMfVxxm6tda40qBgYGABgd0wtdaqVVQFOSRjhkwNMX3GhxktkOwY41KgXhkpw1ZkdzuLVATOhhnBBIDDGVPYc/NN41VshrKjQe1ccJLA7oGg1m40XszEMCi6QMEZwpxxbvmdlZa9o1OxBTiG4/R0ju+WbgqrGQFA1HU3DtPfC1VocqoU405AxwHkgTiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgJRvfye4/Cf7Jl8o3v5PcfhP9kwI9O/Ibf8Nf1TZmt078ht/w1/VNmAiaW6utTqOypVsV283mL36VBWa+56xdS11gpVtrRaKHYviwuwU5C6cYyw8ufLA6sThjr+6DKH2vYtVlgQu5C3H2cMtenIHE5I+SS/vO/KGxdtVo5Vt4zY2dFLaSD7Ha3kgdqJzeodQbbJReoJDJbYUyADoqNgDcD3Sqzq+9qzW+2VryK3UVszrosLAkgJqJXT+6DmB14nKXrRO3su5anl0C46WJBYs6FclQf3O79EgerdQJzXtqirC8oWsIONs2ltXsfveSB2Imjb1CzlbQ7esNbvcaA7aVUaDadRAPkE0aOr73kMOWlltS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Swu1423tZbHe4zuqzengQOFnFXYL8TU6Px+31ej6vKnF2vM5i47DKQnrFX4eExL0DWvfmvqSr6lDJfVxpSGFJIUkDSkk/3JI7mjOC6e97Ua1HQz3NS3AXwzJPc15ZMDX6P2BX0HfdP2BXd3PaQn+Ukjuac6j0579FWKx0cOYX83kdhp+FST3NOel0z60eK7w7VRTSH4tJPc050Ofy+Qa1xIS00iL8FdDkqQ5H4SSmn0KQ+Jvp+FXQZKsOR+EhqquwpA0wuuUp+H7IbmnOR9uuMqxhqucFuEvHQTf0ZwPQZJ2738xJPc051NIfleHii1n9Awtas/sxBk+afgrIdHrRX57z2bp7V3X067k74UkDSkkKSRpSCFJQwpJCkkaUkhSSNKQQpJCkoYUkjSkkKSQpCGFJIUkDSkkKSRpSCFJIUlDCkkaUkhSSNKQQpJCkoYUkhSSNKSQpCGFJIUkDSkkKSRpSCFJIUlDCkkKSRpSSNKQQpJCkoYUkhSSNKSQpJCkIYUkhSSFJIUkDSkkKSRpSCFJIUlDCkkKSRpSSNKQQpJCkoYUkhSSNKSQpJCkIYUkhSSFJIUkDSkkKSRpSCFJIUlDCkkKSRpSSNKQQpJCkoYUkhSSNKSQpJCkIYXkPw7JXlfSYviNgqIre0svpgXx24Sibin7uaWHQpb/w//T8GsDlTL9Fw7W/v8FGAAX2i7afZ2jfwAAAABJRU5ErkJggg==
/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjNGQkEwMzBGMkE5MTFFNEI5MkNCNkREMUQxQjlCNkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjNGQkEwMzFGMkE5MTFFNEI5MkNCNkREMUQxQjlCNkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2M0ZCQTAyRUYyQTkxMUU0QjkyQ0I2REQxRDFCOUI2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2M0ZCQTAyRkYyQTkxMUU0QjkyQ0I2REQxRDFCOUI2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAU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YkE/ef6g7bP1z85O8/1B22frn5ygxLI4idhFnInzM2V0E3ef6g7bP1z85aHtjboPQ764aub7UqfOtHxDRyZ2Ymq1d1lqVDFwfM+bwPvoN+/NtdvuOtLjTvzbXb7jrS41SytkfO2dEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVJEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVJEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVJEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVJEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVJEF3vzbXb7jrS4078212+460uNUkQXe/NtdvuOtLjTvzbXb7jrS41SRBd78212+460uNO/NtdvuOtLjVFEF7vzbXb7jrS4078212+460uNUUQXu/NtdvuOtLjU9htna531sB305AU0YkLyE7OzmzOz5VylZ2d/cbT8eL64qxrJfTbhvtrX8Z/ZSos3Dfb2v4z+ylRenZ5ery/d+X6quzG/wDXLX8kPs18xH0Wpnoy+n7Lb/1u1/JD7NfNoo2BmeuJ6ZNyi4Z6sfB6Mdct2bCLDvZ/HuqxZ3T2szyszu+CQGo9HZzAgrXwVUCLDTpPth3t5YsJDJLHGDy8gyJwj0JYtILvQvBlW0m2I5CKsZgJ6VnICZpBaXR+g9Mjtg4HXLRC3udOLaFs893PI0kJXMZi+iKhPiOMhYXw5HoL1d86xe7SG5tSy/bTSkTi1eRFXEwE7szO7llyLmon+AREQERYQZREQFtFJo5RkpiwvWlXHystUQS3FwVwbSE1CozFR3o9N5txRIiCKZqExbhZ/Gy0U7szs4vlZ1pofp+TzoI0Umh+n5POmh+n5POgjRSaH6fk86aH6fk86CNFJofp+TzrGh+n5POg0RSaH6fk86aH6fk86CNFJofp+Tzpofp+TzoI0Umh+n5POmh+n5POgjRSaH6f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UXn9Jle403gWNxpvAsCjieX5G5Q8qctfrrEhxBQukvBO5W3TmBzitIgfOXtp7v0zOYiBzrjriIEeqOqIgOqOqIgOqBt5PNEQJrtPe80l8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfHEQHxx8cRAfHHxxEB8cfFEQO/HItyd7zxEDnXHXEQHXHXEQHXHXEQHXHXEQHXOjbyxEDXa+r+3VERA/9k=
/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Qzc3RjY1MTNGMkFFMTFFNEI5MkNCNkREMUQxQjlCNkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Qzc3RjY1MTRGMkFFMTFFNEI5MkNCNkREMUQxQjlCNkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2M0ZCQTAzMkYyQTkxMUU0QjkyQ0I2REQxRDFCOUI2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNzdGNjUxMkYyQUUxMUU0QjkyQ0I2REQxRDFCOUI2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAU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jHXdRldJWRZVk9pmvtXorrjD1ZHgzdynGHqyPBm7lOU8x1GnnHiezcoyMrfS5U68VJGsUTxIVSPQ+9VtLMxJ1/TXEP8Ab6QyM4dXVod3u5E1IZWAWSVhfbrCi4+uuuMPVkeDN3KcYerI8GbuU5T7IdRp+qPEs8vwpMLGMLyGW76kX2tMa7AI01s7aRb0mvMjCyeL4zElWOVotzIsqF1IDalYaWUggk1X4w9WR4M3cpxh6sjwZu5TlMdRp5x4ko5SqY+BjxuQmBIsl2Fy9lZT1WuWvUsPL0jzcnLYK7ZBQrdRqTQmjY301V4w9WR4M3cpxh6sjwZu5TlMdRp5x4kmRyhCYGw1ih3Ls5iePXDIXXTdlBXaPQa9XlWnlP8ATd4SdJAlI919WtSFv0K3QOqouMPVkeDN3KcYerI8GbuU5TzHU6eceJD/AEOfF1T4kgfI3JRVI0g5LjQ+QTf4SdlWhyqTHfGkwJFjfHg4a0qF0aO4a/sspDahfpqPjD1ZHgzdynGHqyPBm7lOU+3bxHUaeceJ3JyfVyduVpJtbaZXW4LF96xKgjYT6K4XksodskSrHl71Zot3HpgQqm6K7vVch1PtbacYerI8GbuU4w9WR4M3cpymOo0848T3I5PNlrM+TMpyJRGilEIjjjjkEtlUsSSxG0k14/IlaTJZZSBPIjxKVuIVWRZ5FXb+24vTjD1ZHgzdynGHqyPBm7lOU+A6jTzjxLOZhy5TYjxuqDGmEzBlLarKy6RZhb3qoz/24JcbCjWYxzYZUNKF2SxK4lMbLf4gCOqpeMPVkeDN3KcYerI8GbuU5T99R1GnnHZTaSS8tllz0zZXjBhLFWjjKSurAgRyPqsyi/V6BV9jpFyCdoFgL9JtWZxh6sjwZu5TjD1ZHgzdynKY6jT9UeJcbUdRbadMgvoI2X2bT/waoP8AzkP5UvzRV2czYdQnt6bwzW+Sqr5cXGRG0thHKPwZfS0Xo0VuMGk1mc9TWg7WmsJR78mf/9k=
/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTIwMDc4MDNGOTA5MTFFNEJFRTdEMjJEMDJCQjQ3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTIwMDc4MDRGOTA5MTFFNEJFRTdEMjJEMDJCQjQ3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMjAwNzgwMUY5MDkxMUU0QkVFN0QyMkQwMkJCNDdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMjAwNzgwMkY5MDkxMUU0QkVFN0QyMkQwMkJCNDdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYI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
Python是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义
所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。Python也不例外。
Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
```bash
# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
```
以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。
最后,请务必注意,Python程序是`大小写敏感`的,如果写错了大小写,程序会报错。
!!小结
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。
现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:
[img[python0.png]]
总的来说,这几种编程语言各有千秋。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。
当你用一种语言开始作真正的软件开发时,你除了编写代码外,还需要很多基本的已经写好的现成的东西,来帮助你加快开发进度。比如说,要编写一个电子邮件客户端,如果先从最底层开始编写网络协议相关的代码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用,比如,针对电子邮件协议的SMTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。
Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。
除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。
龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
总的来说,''Python的哲学就是简单优雅'',尽量写容易看明白的代码,尽量写少的代码。如果一个资深程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。
那Python适合开发哪些类型的应用呢?
首选是网络应用,包括网站、后台服务等等;
其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;
另外就是把其他语言开发的程序再包装起来,方便使用。
!!!最后说说Python的缺点。
任何编程语言都有缺点,Python也不例外。优点说过了,那Python有哪些缺点呢?
''第一个缺点''就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。
[img[python1.jpeg]]
''第二个缺点''就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。
这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。
再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。
[img[python2.jpeg]]
当然,Python还有其他若干小缺点,请自行忽略,就不一一列举了。
!Python教程
阅读: 6062916(截止20180830)
这是小白的Python新手教程,具有如下特点:
中文,免费,零起点,完整示例,基于最新的Python 3版本。
Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。
!!那Python是一种什么语言?
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。
比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
所以Python是一种相当高级的语言。
你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。
那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。
但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。
用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。
Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。
如果你是小白用户,满足以下条件:
* 会使用电脑,但从来没写过程序;
* 还记得初中数学学的方程式和一点点代数知识;
* 想从编程小白变成专业的软件架构师;
* 每天能抽出半个小时学习。
不要再犹豫了,这个教程就是为你准备的!
准备好了吗?
[img[challenge-accepted.png]]
!!Python基础
* [[Python简介]]
* [[Python基础]]
* [[安装Python]]
* [[Python解释器]]
* [[第一个Python程序]]
* [[使用文本编辑器]]
* [[代码运行助手]]
!!Python入门
* [[输入和输出]]
* [[数据类型和变量]]
* [[字符串和编码]]
* [[使用list和tuple]]
* [[条件判断]]
* [[循环]]
* [[使用dict和set]]
* [[函数]]
!![[高级特性]]
* [[切片]]
* [[迭代]]
* [[列表生成式]]
* [[生成器]]
* [[迭代器]]
!![[函数式编程]]
* [[高阶函数]]
* [[返回函数]]
* [[匿名函数]]
* [[装饰器]]
* [[偏函数]]
!![[模块]]
* [[使用模块]]
* [[安装第三方模块]]
* [[面向对象编程]]
!!Python进阶
* [[错误、调试和测试]]
* [[IO编程]]
* [[文件读写]]
* [[StringIO和BytesIO]]
* [[操作文件和目录]]
* [[序列化]]
* [[进程和线程]]
* [[常用内建模块]]
* [[常用第三方模块]]
!!关于网络、邮件和数据库
* [[网络编程]]
* [[电子邮件]]
* [[访问数据库]]
* [[Web开发]]
* [[异步IO]]
[[实战]]
[[FAQ常见问题]]
[[期末总结]]
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。
!!CPython
当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
!!IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
!!PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
!!Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
!!IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
!!小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
本教程的所有代码只确保在CPython 3.x版本下运行。请务必在本地安装CPython(也就是从Python官方网站下载的安装程序)。
!requests
我们已经讲解了Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。
更好的方案是使用requests。它是一个Python第三方库,处理URL资源特别方便。
!!安装requests
如果安装了Anaconda,requests就已经可用了。否则,需要在命令行下通过pip安装:
```bash
$ pip install requests
```
如果遇到Permission denied安装失败,请加上sudo重试。
!!使用requests
要通过GET访问一个页面,只需要几行代码:
```bash
>>> import requests
>>> r = requests.get('https://www.douban.com/') # 豆瓣首页
>>> r.status_code
200
>>> r.text
r.text
'<!DOCTYPE HTML>\n<html>\n<head>\n<meta name="description" content="提供图书、电影、音乐唱片的推荐、评论和...'
```
对于带参数的URL,传入一个dict作为params参数:
```bash
>>> r = requests.get('https://www.douban.com/search', params={'q': 'python', 'cat': '1001'})
>>> r.url # 实际请求的URL
'https://www.douban.com/search?q=python&cat=1001'
```
requests自动检测编码,可以使用encoding属性查看:
```bash
>>> r.encoding
'utf-8'
```
无论响应是文本还是二进制内容,我们都可以用content属性获得bytes对象:
```bash
>>> r.content
b'<!DOCTYPE html>\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n...'
```
requests的方便之处还在于,对于特定类型的响应,例如JSON,可以直接获取:
```bash
>>> r = requests.get('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%202151330&format=json')
>>> r.json()
{'query': {'count': 1, 'created': '2017-11-17T07:14:12Z', ...
```
需要传入HTTP Header时,我们传入一个dict作为headers参数:
```bash
>>> r = requests.get('https://www.douban.com/', headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'})
>>> r.text
'<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n <title>豆瓣(手机版)</title>...'
```
要发送POST请求,只需要把get()方法变成post(),然后传入data参数作为POST请求的数据:
```bash
>>> r = requests.post('https://accounts.douban.com/login', data={'form_email': 'abc@example.com', 'form_password': '123456'})
```
requests默认使用application/x-www-form-urlencoded对POST数据编码。如果要传递JSON数据,可以直接传入json参数:
```bash
params = {'key': 'value'}
r = requests.post(url, json=params) # 内部自动序列化为JSON
```
类似的,上传文件需要更复杂的编码格式,但是requests把它简化成files参数:
```bash
>>> upload_files = {'file': open('report.xls', 'rb')}
>>> r = requests.post(url, files=upload_files)
```
在读取文件时,注意务必使用'rb'即二进制模式读取,这样获取的bytes长度才是文件的长度。
把post()方法替换为put(),delete()等,就可以以PUT或DELETE方式请求资源。
除了能轻松获取响应内容外,requests对获取HTTP响应的其他信息也非常简单。例如,获取响应头:
```bash
>>> r.headers
{Content-Type': 'text/html; charset=utf-8', 'Transfer-Encoding': 'chunked', 'Content-Encoding': 'gzip', ...}
>>> r.headers['Content-Type']
'text/html; charset=utf-8'
```
requests对Cookie做了特殊处理,使得我们不必解析Cookie就可以轻松获取指定的Cookie:
```bash
>>> r.cookies['ts']
'example_cookie_12345'
```
要在请求中传入Cookie,只需准备一个dict传入cookies参数:
```bash
>>> cs = {'token': '12345', 'status': 'working'}
>>> r = requests.get(url, cookies=cs)
```
最后,要指定超时,传入以秒为单位的timeout参数:
```bash
>>> r = requests.get(url, timeout=2.5) # 2.5秒后超时
```
!!小结
用requests获取URL资源,就是这么简单!
!SMTP发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
首先,我们来构造一个最简单的纯文本邮件:
```bash
from email.mime.text import MIMEText
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
```
注意到构造MIMEText对象时,第一个参数就是邮件正文,第二个参数是MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',最后一定要用utf-8编码保证多语言兼容性。
然后,通过SMTP发出去:
```bash
# 输入Email地址和口令:
from_addr = input('From: ')
password = input('Password: ')
# 输入收件人地址:
to_addr = input('To: ')
# 输入SMTP服务器地址:
smtp_server = input('SMTP server: ')
import smtplib
server = smtplib.SMTP(smtp_server, 25) # SMTP协议默认端口是25
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
```
我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。SMTP协议就是简单的文本命令和响应。login()方法用来登录SMTP服务器,sendmail()方法就是发邮件,由于可以一次发给多个人,所以传入一个list,邮件正文是一个str,as_string()把MIMEText对象变成str。
如果一切顺利,就可以在收件人信箱中收到我们刚发送的Email:
[img[python33.png]]
仔细观察,发现如下问题:
邮件没有主题;
收件人的名字没有显示为友好的名字,比如Mr Green <green@example.com>;
明明收到了邮件,却提示不在收件人中。
这是因为邮件主题、如何显示发件人、收件人等信息并不是通过SMTP协议发给MTA,而是包含在发给MTA的文本中的,所以,我们必须把From、To和Subject添加到MIMEText中,才是一封完整的邮件:
```bash
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
from_addr = input('From: ')
password = input('Password: ')
to_addr = input('To: ')
smtp_server = input('SMTP server: ')
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
```
我们编写了一个函数_format_addr()来格式化一个邮件地址。注意不能简单地传入name <addr@example.com>,因为如果包含中文,需要通过Header对象进行编码。
msg['To']接收的是字符串而不是list,如果有多个邮件地址,用`,`分隔即可。
再发送一遍邮件,就可以在收件人邮箱中看到正确的标题、发件人和收件人:
[img[python34.png]]
你看到的收件人的名字很可能不是我们传入的`管理员`,因为很多邮件服务商在显示邮件时,会把收件人名字自动替换为用户注册的名字,但是其他收件人名字的显示不受影响。
如果我们查看Email的原始内容,可以看到如下经过编码的邮件头:
```bash
From: =?utf-8?b?UHl0aG9u54ix5aW96ICF?= <xxxxxx@163.com>
To: =?utf-8?b?566h55CG5ZGY?= <xxxxxx@qq.com>
Subject: =?utf-8?b?5p2l6IeqU01UUOeahOmXruWAmeKApuKApg==?=
```
这就是经过Header对象编码的文本,包含utf-8编码信息和Base64编码的文本。如果我们自己来手动构造这样的编码文本,显然比较复杂。
!!发送HTML邮件
如果我们要发送HTML邮件,而不是普通的纯文本文件怎么办?方法很简单,在构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由plain变为html就可以了:
```bash
msg = MIMEText('<html><body><h1>Hello</h1>' +
'<p>send by <a href="http://www.python.org">Python</a>...</p>' +
'</body></html>', 'html', 'utf-8')
```
再发送一遍邮件,你将看到以HTML显示的邮件:
[img[python35.png]]
!!发送附件
如果Email中要加上附件怎么办?带附件的邮件可以看做包含若干部分的邮件:文本和各个附件本身,所以,可以构造一个MIMEMultipart对象代表邮件本身,然后往里面加上一个MIMEText作为邮件正文,再继续往里面加上表示附件的MIMEBase对象即可:
```bash
# 邮件对象:
msg = MIMEMultipart()
msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
# 邮件正文是MIMEText:
msg.attach(MIMEText('send with file...', 'plain', 'utf-8'))
# 添加附件就是加上一个MIMEBase,从本地读取一个图片:
with open('/Users/michael/Downloads/test.png', 'rb') as f:
# 设置附件的MIME和文件名,这里是png类型:
mime = MIMEBase('image', 'png', filename='test.png')
# 加上必要的头信息:
mime.add_header('Content-Disposition', 'attachment', filename='test.png')
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '0')
# 把附件的内容读进来:
mime.set_payload(f.read())
# 用Base64编码:
encoders.encode_base64(mime)
# 添加到MIMEMultipart:
msg.attach(mime)
```
然后,按正常发送流程把msg(注意类型已变为MIMEMultipart)发送出去,就可以收到如下带附件的邮件:
[img[python36.png]]
!!发送图片
如果要把一个图片嵌入到邮件正文中怎么做?直接在HTML邮件中链接图片地址行不行?答案是,大部分邮件服务商都会自动屏蔽带有外链的图片,因为不知道这些链接是否指向恶意网站。
要把图片嵌入到邮件正文中,我们只需按照发送附件的方式,先把邮件作为附件添加进去,然后,在HTML中通过引用src="cid:0"就可以把附件作为图片嵌入了。如果有多个图片,给它们依次编号,然后引用不同的cid:x即可。
把上面代码加入MIMEMultipart的MIMEText从plain改为html,然后在适当的位置引用图片:
```bash
msg.attach(MIMEText('<html><body><h1>Hello</h1>' +
'<p><img src="cid:0"></p>' +
'</body></html>', 'html', 'utf-8'))
```
再次发送,就可以看到图片直接嵌入到邮件正文的效果:
[img[python37.png]]
!!同时支持HTML和Plain格式
如果我们发送HTML邮件,收件人通过浏览器或者Outlook之类的软件是可以正常浏览邮件内容的,但是,如果收件人使用的设备太古老,查看不了HTML邮件怎么办?
办法是在发送HTML的同时再附加一个纯文本,如果收件人无法查看HTML格式的邮件,就可以自动降级查看纯文本邮件。
利用MIMEMultipart就可以组合一个HTML和Plain,要注意指定subtype是alternative:
```bash
msg = MIMEMultipart('alternative')
msg['From'] = ...
msg['To'] = ...
msg['Subject'] = ...
msg.attach(MIMEText('hello', 'plain', 'utf-8'))
msg.attach(MIMEText('<html><body><h1>Hello</h1></body></html>', 'html', 'utf-8'))
# 正常发送msg对象...
```
!!加密SMTP
使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件。
某些邮件服务商,例如Gmail,提供的SMTP服务必须要加密传输。我们来看看如何通过Gmail提供的安全SMTP发送邮件。
必须知道,Gmail的SMTP端口是587,因此,修改代码如下:
```bash
smtp_server = 'smtp.gmail.com'
smtp_port = 587
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
# 剩下的代码和前面的一模一样:
server.set_debuglevel(1)
...
```
只需要在创建SMTP对象后,立刻调用starttls()方法,就创建了安全连接。后面的代码和前面的发送邮件代码完全一样。
如果因为网络问题无法连接Gmail的SMTP服务器,请相信我们的代码是没有问题的,你需要对你的网络设置做必要的调整。
!!小结
使用Python的smtplib发送邮件十分简单,只要掌握了各种邮件类型的构造方法,正确设置好邮件头,就可以顺利发出。
构造一个邮件对象就是一个Messag对象,如果构造一个MIMEText对象,就表示一个文本邮件对象,如果构造一个MIMEImage对象,就表示一个作为附件的图片,要把多个对象组合起来,就用MIMEMultipart对象,而MIMEBase可以表示任何对象。它们的继承关系如下:
```
Message
+- MIMEBase
+- MIMEMultipart
+- MIMENonMultipart
+- MIMEMessage
+- MIMEText
+- MIMEImage
```
这种嵌套关系就可以构造出任意复杂的邮件。你可以通过[[email.mime|https://docs.python.org/3/library/email.mime.html]]文档查看它们所在的包以及详细的用法。
!!参考源码
[[send_mail.py|https://github.com/michaelliao/learn-python3/blob/master/samples/mail/send_mail.py]]
!sorted
!!排序算法
排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。
Python内置的sorted()函数就可以对list进行排序:
```bash
>>> sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
```
此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:
```bash
>>> sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]
```
key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。对比原始的list和经过key=abs处理过的list:
```bash
list = [36, 5, -12, 9, -21]
keys = [36, 5, 12, 9, 21]
```
然后sorted()函数按照keys进行排序,并按照对应关系返回list相应的元素:
```bash
keys排序结果 => [5, 9, 12, 21, 36]
| | | | |
最终结果 => [5, 9, -12, -21, 36]
```
我们再看一个字符串排序的例子:
```bash
>>> sorted(['bob', 'about', 'Zoo', 'Credit'])
['Credit', 'Zoo', 'about', 'bob']
```
默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面。
现在,我们提出排序应该忽略大小写,按照字母序排序。要实现这个算法,不必对现有代码大加改动,只要我们能用一个key函数把字符串映射为忽略大小写排序即可。忽略大小写来比较两个字符串,实际上就是先把字符串都变成大写(或者都变成小写),再比较。
这样,我们给sorted传入key函数,即可实现忽略大小写的排序:
```bash
>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)
['about', 'bob', 'Credit', 'Zoo']
```
要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True:
```bash
>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)
['Zoo', 'Credit', 'bob', 'about']
```
从上述例子可以看出,高阶函数的抽象能力是非常强大的,而且,核心代码可以保持得非常简洁。
!!小结
sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数。
!!练习
假设我们用一组tuple表示学生名字和成绩:
```bash
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
```
请用sorted()对上述列表分别按名字排序:
```bash
# -*- coding: utf-8 -*-
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):
pass
L2 = sorted(L, key=by_name)
print(L2)
```
再按成绩从高到低排序:
```bash
# -*- coding: utf-8 -*-
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_score(t):
pass
L2 = sorted(L, key=by_score)
print(L2)
```
!!参考源码
[[do_sorted.py|https://github.com/michaelliao/learn-python3/blob/master/samples/functional/do_sorted.py]]
!StringIO和BytesIO
!!StringIO
很多时候,数据读写不一定是文件,也可以在内存中读写。
StringIO顾名思义就是在内存中读写str。
要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:
```bash
>>> from io import StringIO
>>> f = StringIO()
>>> f.write('hello')
5
>>> f.write(' ')
1
>>> f.write('world!')
6
>>> print(f.getvalue())
hello world!
```
getvalue()方法用于获得写入后的str。
要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:
```bash
>>> from io import StringIO
>>> f = StringIO('Hello!\nHi!\nGoodbye!')
>>> while True:
... s = f.readline()
... if s == '':
... break
... print(s.strip())
...
Hello!
Hi!
Goodbye!
```
!!BytesIO
StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。
BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:
```bash
>>> from io import BytesIO
>>> f = BytesIO()
>>> f.write('中文'.encode('utf-8'))
6
>>> print(f.getvalue())
b'\xe4\xb8\xad\xe6\x96\x87'
```
请注意,写入的不是str,而是经过UTF-8编码的bytes。
和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取:
```bash
>>> from io import BytesIO
>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
>>> f.read()
b'\xe4\xb8\xad\xe6\x96\x87'
```
!!小结
StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。
!!参考源码
[[do_stringio.py|https://github.com/michaelliao/learn-python3/blob/master/samples/io/do_stringio.py]]
[[do_bytesio.py|https://github.com/michaelliao/learn-python3/blob/master/samples/io/do_bytesio.py]]
准确地讲,Python没有专门处理字节的数据类型。但由于b'str'可以表示字节,所以,字节数组=二进制str。而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。
在Python中,比方说要把一个32位无符号整数变成字节,也就是4个长度的bytes,你得配合位运算符这么写:
```bash
>>> n = 10240099
>>> b1 = (n & 0xff000000) >> 24
>>> b2 = (n & 0xff0000) >> 16
>>> b3 = (n & 0xff00) >> 8
>>> b4 = n & 0xff
>>> bs = bytes([b1, b2, b3, b4])
>>> bs
b'\x00\x9c@c'
```
非常麻烦。如果换成浮点数就无能为力了。
好在Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换。
struct的pack函数把任意数据类型变成bytes:
```bash
>>> import struct
>>> struct.pack('>I', 10240099)
b'\x00\x9c@c'
```
pack的第一个参数是处理指令,'>I'的意思是:
>表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。
后面的参数个数要和处理指令一致。
unpack把bytes变成相应的数据类型:
```bash
>>> struct.unpack('>IH', b'\xf0\xf0\xf0\xf0\x80\x80')
(4042322160, 32896)
```
根据>IH的说明,后面的bytes依次变为I:4字节无符号整数和H:2字节无符号整数。
所以,尽管Python不适合编写底层操作字节流的代码,但在对性能要求不高的地方,利用struct就方便多了。
struct模块定义的数据类型可以参考Python官方文档:
https://docs.python.org/3/library/struct.html#format-characters
Windows的位图文件(.bmp)是一种非常简单的文件格式,我们来用struct分析一下。
首先找一个bmp文件,没有的话用“画图”画一个。
读入前30个字节来分析:
```bash
>>> s = b'\x42\x4d\x38\x8c\x0a\x00\x00\x00\x00\x00\x36\x00\x00\x00\x28\x00\x00\x00\x80\x02\x00\x00\x68\x01\x00\x00\x01\x00\x18\x00'
```
BMP格式采用小端方式存储数据,文件头的结构按顺序如下:
两个字节:'BM'表示Windows位图,'BA'表示OS/2位图;
* 一个4字节整数:表示位图大小;
* 一个4字节整数:保留位,始终为0;
* 一个4字节整数:实际图像的偏移量;
* 一个4字节整数:Header的字节数;
* 一个4字节整数:图像宽度;
* 一个4字节整数:图像高度;
* 一个2字节整数:始终为1;
* 一个2字节整数:颜色数。
所以,组合起来用unpack读取:
```bash
>>> struct.unpack('<ccIIIIIIHH', s)
(b'B', b'M', 691256, 0, 54, 40, 640, 360, 1, 24)
```
结果显示,b'B'、b'M'说明是Windows位图,位图大小为640x360,颜色数为24。
请编写一个bmpinfo.py,可以检查任意文件是否是位图文件,如果是,打印出图片大小和颜色数。
```bash
# -*- coding: utf-8 -*-
import base64, struct
bmp_data = base64.b64decode('Qk1oAgAAAAAAADYAAAAoAAAAHAAAAAoAAAABABAAAAAAADICAAASCwAAEgsAAAAAAAAAAAAA/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/AHwAfAB8AHwAfAB8AHwAfP9//3//fwB8AHwAfAB8/3//f/9/AHwAfAB8AHz/f/9//3//f/9//38AfAB8AHwAfAB8AHwAfAB8AHz/f/9//38AfAB8/3//f/9//3//fwB8AHz/f/9//3//f/9//3//f/9/AHwAfP9//3//f/9/AHwAfP9//3//fwB8AHz/f/9//3//f/9/AHwAfP9//3//f/9//3//f/9//38AfAB8AHwAfAB8AHwAfP9//3//f/9/AHwAfP9//3//f/9//38AfAB8/3//f/9//3//f/9//3//fwB8AHwAfAB8AHwAfAB8/3//f/9//38AfAB8/3//f/9//3//fwB8AHz/f/9//3//f/9//3//f/9/AHwAfP9//3//f/9/AHwAfP9//3//fwB8AHz/f/9/AHz/f/9/AHwAfP9//38AfP9//3//f/9/AHwAfAB8AHwAfAB8AHwAfAB8/3//f/9/AHwAfP9//38AfAB8AHwAfAB8AHwAfAB8/3//f/9//38AfAB8AHwAfAB8AHwAfAB8/3//f/9/AHwAfAB8AHz/fwB8AHwAfAB8AHwAfAB8AHz/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//38AAA==')
def bmp_info(data):
return {
'width': 200,
'height': 100,
'color': 24
}
# 测试
bi = bmp_info(bmp_data)
assert bi['width'] == 28
assert bi['height'] == 10
assert bi['color'] == 16
print('ok')
```
!!参考源码
[[check_bmp.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/check_bmp.py]]
!TCP/IP简介
虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。
计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了。
为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。Internet是由inter和net两个单词组合起来的,原意就是连接“网络”的网络,有了Internet,任何私有网络,只要支持这个协议,就可以联入互联网。
因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议。
通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。
IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去。由于互联网链路复杂,两台计算机之间经常有多条线路,因此,路由器就负责决定如何把一个IP包转发出去。IP包的特点是按块发送,途径多个路由,但不保证能到达,也不保证顺序到达。
[img[python29.png]]
IP地址实际上是一个32位整数(称为IPv4),以字符串表示的IP地址如192.168.0.1实际上是把32位整数按8位分组后的数字表示,目的是便于阅读。
IPv6地址实际上是一个128位整数,它是目前使用的IPv4的升级版,以字符串表示类似于2001:0db8:85a3:0042:1000:8a2e:0370:7334。
TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果包丢掉了,就自动重发。
许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等。
一个TCP报文除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口。
端口有什么作用?在两台计算机通信时,只发IP地址是不够的,因为同一台计算机上跑着多个网络程序。一个TCP报文来了之后,到底是交给浏览器还是QQ,就需要端口号来区分。每个网络程序都向操作系统申请唯一的端口号,这样,两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。
一个进程也可能同时与多个计算机建立链接,因此它会申请很多端口。
了解了TCP/IP协议的基本概念,IP地址和端口的概念,我们就可以开始进行网络编程了。
!TCP编程
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。
!!客户端
大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。
举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服务器接受了我们的连接,一个TCP连接就建立起来的,后面的通信就是发送网页内容了。
所以,我们要创建一个基于TCP连接的Socket,可以这样做:
```bash
# 导入socket库:
import socket
# 创建一个socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(('www.sina.com.cn', 80))
```
创建Socket时,AF_INET指定使用IPv4协议,如果要用更先进的IPv6,就指定为AF_INET6。SOCK_STREAM指定使用面向流的TCP协议,这样,一个Socket对象就创建成功,但是还没有建立连接。
客户端要主动发起TCP连接,必须知道服务器的IP地址和端口号。新浪网站的IP地址可以用域名www.sina.com.cn自动转换到IP地址,但是怎么知道新浪服务器的端口号呢?
答案是作为服务器,提供什么样的服务,端口号就必须固定下来。由于我们想要访问网页,因此新浪提供网页服务的服务器必须把端口号固定在80端口,因为80端口是Web服务的标准端口。其他服务都有对应的标准端口号,例如SMTP服务是25端口,FTP服务是21端口,等等。端口号小于1024的是Internet标准服务的端口,端口号大于1024的,可以任意使用。
因此,我们连接新浪服务器的代码如下:
```bash
s.connect(('www.sina.com.cn', 80))
```
注意参数是一个tuple,包含地址和端口号。
建立TCP连接后,我们就可以向新浪服务器发送请求,要求返回首页的内容:
```bash
# 发送数据:
s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')
```
TCP连接创建的是双向通道,双方都可以同时给对方发数据。但是谁先发谁后发,怎么协调,要根据具体的协议来决定。例如,HTTP协议规定客户端必须先发请求给服务器,服务器收到后才发数据给客户端。
发送的文本格式必须符合HTTP标准,如果格式没问题,接下来就可以接收新浪服务器返回的数据了:
```bash
# 接收数据:
buffer = []
while True:
# 每次最多接收1k字节:
d = s.recv(1024)
if d:
buffer.append(d)
else:
break
data = b''.join(buffer)
```
接收数据时,调用recv(max)方法,一次最多接收指定的字节数,因此,在一个while循环中反复接收,直到recv()返回空数据,表示接收完毕,退出循环。
当我们接收完数据后,调用close()方法关闭Socket,这样,一次完整的网络通信就结束了:
```bash
# 关闭连接:
s.close()
```
接收到的数据包括HTTP头和网页本身,我们只需要把HTTP头和网页分离一下,把HTTP头打印出来,网页内容保存到文件:
```bash
header, html = data.split(b'\r\n\r\n', 1)
print(header.decode('utf-8'))
# 把接收的数据写入文件:
with open('sina.html', 'wb') as f:
f.write(html)
```
现在,只需要在浏览器中打开这个sina.html文件,就可以看到新浪的首页了。
!!服务器
和客户端编程相比,服务器编程就要复杂一些。
服务器进程首先要绑定一个端口并监听来自其他客户端的连接。如果某个客户端连接过来了,服务器就与该客户端建立Socket连接,随后的通信就靠这个Socket连接了。
所以,服务器会打开固定端口(比如80)监听,每来一个客户端连接,就创建该Socket连接。由于服务器会有大量来自客户端的连接,所以,服务器要能够区分一个Socket连接是和哪个客户端绑定的。一个Socket依赖4项:''服务器地址、服务器端口、客户端地址、客户端''端口来唯一确定一个Socket。
但是服务器还需要同时响应多个客户端的请求,所以,每个连接都需要一个新的进程或者新的线程来处理,否则,服务器一次就只能服务一个客户端了。
我们来编写一个简单的服务器程序,它接收客户端连接,把客户端发过来的字符串加上Hello再发回去。
首先,创建一个基于IPv4和TCP协议的Socket:
```bash
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
然后,我们要绑定监听的地址和端口。服务器可能有多块网卡,可以绑定到某一块网卡的IP地址上,也可以用0.0.0.0绑定到所有的网络地址,还可以用127.0.0.1绑定到本机地址。127.0.0.1是一个特殊的IP地址,表示本机地址,如果绑定到这个地址,客户端必须同时在本机运行才能连接,也就是说,外部的计算机无法连接进来。
端口号需要预先指定。因为我们写的这个服务不是标准服务,所以用9999这个端口号。请注意,小于1024的端口号必须要有管理员权限才能绑定:
```bash
# 监听端口:
s.bind(('127.0.0.1', 9999))
```
紧接着,调用listen()方法开始监听端口,传入的参数指定等待连接的最大数量:
```bash
s.listen(5)
print('Waiting for connection...')
```
接下来,服务器程序通过一个永久循环来接受来自客户端的连接,accept()会等待并返回一个客户端的连接:
```bash
while True:
# 接受一个新连接:
sock, addr = s.accept()
# 创建新线程来处理TCP连接:
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()
```
每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接:
```bash
def tcplink(sock, addr):
print('Accept new connection from %s:%s...' % addr)
sock.send(b'Welcome!')
while True:
data = sock.recv(1024)
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8'))
sock.close()
print('Connection from %s:%s closed.' % addr)
```
连接建立后,服务器首先发一条欢迎消息,然后等待客户端数据,并加上Hello再发送给客户端。如果客户端发送了exit字符串,就直接关闭连接。
要测试这个服务器程序,我们还需要编写一个客户端程序:
```bash
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(('127.0.0.1', 9999))
# 接收欢迎消息:
print(s.recv(1024).decode('utf-8'))
for data in [b'Michael', b'Tracy', b'Sarah']:
# 发送数据:
s.send(data)
print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()
```
我们需要打开两个命令行窗口,一个运行服务器程序,另一个运行客户端程序,就可以看到效果了:
[img[python30.png]]
需要注意的是,客户端程序运行完毕就退出了,而服务器程序会永远运行下去,必须按Ctrl+C退出程序。
!!小结
用TCP协议进行Socket编程在Python中十分简单,对于客户端,要主动连接服务器的IP和指定端口,对于服务器,要首先监听指定端口,然后,对每一个新的连接,创建一个线程或进程来处理。通常,服务器程序会无限运行下去。
同一个端口,被一个Socket绑定了以后,就不能被别的Socket绑定了。
!!参考源码
[[do_tcp.py|https://github.com/michaelliao/learn-python3/blob/master/samples/socket/do_tcp.py]]
!ThreadLocal
在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。
但是局部变量也有问题,就是在函数调用的时候,传递起来很麻烦:
```bash
def process_student(name):
std = Student(name)
# std是局部变量,但是每个函数都要用它,因此必须传进去:
do_task_1(std)
do_task_2(std)
def do_task_1(std):
do_subtask_1(std)
do_subtask_2(std)
def do_task_2(std):
do_subtask_2(std)
do_subtask_2(std)
```
每个函数一层一层调用都这么传参数那还得了?用全局变量?也不行,因为每个线程处理不同的Student对象,不能共享。
如果用一个全局dict存放所有的Student对象,然后以thread自身作为key获得线程对应的Student对象如何?
```bash
global_dict = {}
def std_thread(name):
std = Student(name)
# 把std放到全局变量global_dict中:
global_dict[threading.current_thread()] = std
do_task_1()
do_task_2()
def do_task_1():
# 不传入std,而是根据当前线程查找:
std = global_dict[threading.current_thread()]
...
def do_task_2():
# 任何函数都可以查找出当前线程的std变量:
std = global_dict[threading.current_thread()]
...
```
这种方式理论上是可行的,它最大的优点是消除了std对象在每层函数中的传递问题,但是,每个函数获取std的代码有点丑。
有没有更简单的方式?
ThreadLocal应运而生,不用查找dict,ThreadLocal帮你自动做这件事:
```bash
import threading
# 创建全局ThreadLocal对象:
local_school = threading.local()
def process_student():
# 获取当前线程关联的student:
std = local_school.student
print('Hello, %s (in %s)' % (std, threading.current_thread().name))
def process_thread(name):
# 绑定ThreadLocal的student:
local_school.student = name
process_student()
t1 = threading.Thread(target= process_thread, args=('Alice',), name='Thread-A')
t2 = threading.Thread(target= process_thread, args=('Bob',), name='Thread-B')
t1.start()
t2.start()
t1.join()
t2.join()
```
执行结果:
```bash
Hello, Alice (in Thread-A)
Hello, Bob (in Thread-B)
```
全局变量local_school就是一个ThreadLocal对象,每个Thread对它都可以读写student属性,但互不影响。你可以把local_school看成全局变量,但每个属性如local_school.student都是线程的局部变量,可以任意读写而互不干扰,也不用管理锁的问题,ThreadLocal内部会处理。
可以理解为全局变量local_school是一个dict,不但可以用local_school.student,还可以绑定其他变量,如local_school.teacher等等。
ThreadLocal最常用的地方就是为每个线程绑定一个数据库连接,HTTP请求,用户身份信息等,这样一个线程的所有调用到的处理函数都可以非常方便地访问这些资源。
!!小结
一个ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。
!!参考源码
[[use_threadlocal.py|https://github.com/michaelliao/learn-python3/blob/master/samples/multitask/use_threadlocal.py]]
!! 参考链接
* 格式参考 http://tiddlywiki.com/#WikiText
* 官网 http://tiddlywiki.com
* 华语论坛 https://groups.google.com/forum/#!forum/tiddlywiki-zh
* 蜜汁台版文档 http://tw5-zh.tiddlyspot.com
* ~TiddlyWiki 使用手册 | 站长百科 http://www.zzbaike.com/wiki/TiddlyWiki
* tid.li Plugins - A ~TiddlyWiki Plugin Source http://tid.li/tw5/plugins.html
* Community 官方导航 http://tiddlywiki.com/#Community:Community%20Plugins
* 社区插件合集 http://erwanm.github.io/tw-community-search/#CommunityPlugins
* ~TiddlyWiki 使用教學中文版 http://web.nlhs.tyc.edu.tw/~lss/wiki/TiddlyWikiTutorialTW.html
!!! 相关阅读
* 应用tiddlywiki的一点经验 http://forum.ubuntu.org.cn/viewtopic.php?t=46941&highlight=wiki
* ~TiddlyWiki 使用心得 http://blog.csdn.net/yxj911/article/details/1577778
* 一个小巧好用的个人知识管理系统 - `TiddlyWiki` http://sinojelly.blog.51cto.com/479153/200468/
!! 配置计划
# 管理员用户系统
# 网页直接保存
#* 利用 PHP 配置参考 http://tiddlywiki.com/#Saving%20on%20a%20PHP%20Server
!UDP编程
TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。
使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。
虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议。
我们来看看如何通过UDP协议传输数据。和TCP类似,使用UDP的通信双方也分为客户端和服务器。服务器首先需要绑定端口:
```bash
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口:
s.bind(('127.0.0.1', 9999))
```
创建Socket时,SOCK_DGRAM指定了这个Socket的类型是UDP。绑定端口和TCP一样,但是不需要调用listen()方法,而是直接接收来自任何客户端的数据:
```bash
print('Bind UDP on 9999...')
while True:
# 接收数据:
data, addr = s.recvfrom(1024)
print('Received from %s:%s.' % addr)
s.sendto(b'Hello, %s!' % data, addr)
```
recvfrom()方法返回数据和客户端的地址与端口,这样,服务器收到数据后,直接调用sendto()就可以把数据用UDP发给客户端。
注意这里省掉了多线程,因为这个例子很简单。
客户端使用UDP时,首先仍然创建基于UDP的Socket,然后,不需要调用connect(),直接通过sendto()给服务器发数据:
```bash
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for data in [b'Michael', b'Tracy', b'Sarah']:
# 发送数据:
s.sendto(data, ('127.0.0.1', 9999))
# 接收数据:
print(s.recv(1024).decode('utf-8'))
s.close()
```
从服务器接收数据仍然调用recv()方法。
仍然用两个命令行分别启动服务器和客户端测试,结果如下:
[img[python31.png]]
!!小结
UDP的使用与TCP类似,但是不需要建立连接。此外,服务器绑定UDP端口和TCP端口互不冲突,也就是说,UDP的9999端口与TCP的9999端口可以各自绑定。
!!参考源码
[[udp_server.py|https://github.com/michaelliao/learn-python3/blob/master/samples/socket/udp_server.py]]
[[udp_client.py|https://github.com/michaelliao/learn-python3/blob/master/samples/socket/udp_client.py]]
!urllib
阅读: 201909
urllib提供了一系列用于操作URL的功能。
!!Get
urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应:
例如,对豆瓣的一个URLhttps://api.douban.com/v2/book/2129650进行抓取,并返回响应:
```bash
from urllib import request
with request.urlopen('https://api.douban.com/v2/book/2129650') as f:
data = f.read()
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
print('Data:', data.decode('utf-8'))
```
可以看到HTTP响应的头和JSON数据:
```bash
Status: 200 OK
Server: nginx
Date: Tue, 26 May 2015 10:02:27 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 2049
Connection: close
Expires: Sun, 1 Jan 2006 01:00:00 GMT
Pragma: no-cache
Cache-Control: must-revalidate, no-cache, private
X-DAE-Node: pidl1
Data: {"rating":{"max":10,"numRaters":16,"average":"7.4","min":0},"subtitle":"","author":["廖雪峰编著"],"pubdate":"2007-6",...}
```
如果我们要想模拟浏览器发送GET请求,就需要使用Request对象,通过往Request对象添加HTTP头,我们就可以把请求伪装成浏览器。例如,模拟iPhone 6去请求豆瓣首页:
```bash
from urllib import request
req = request.Request('http://www.douban.com/')
req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')
with request.urlopen(req) as f:
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
print('Data:', f.read().decode('utf-8'))
```
这样豆瓣会返回适合iPhone的移动版网页:
```bash
...
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
<meta name="format-detection" content="telephone=no">
<link rel="apple-touch-icon" sizes="57x57" href="http://img4.douban.com/pics/cardkit/launcher/57.png" />
...
```
!!Post
如果要以POST发送一个请求,只需要把参数data以bytes形式传入。
我们模拟一个微博登录,先读取登录的邮箱和口令,然后按照weibo.cn的登录页的格式以username=xxx&password=xxx的编码传入:
```bash
from urllib import request, parse
print('Login to weibo.cn...')
email = input('Email: ')
passwd = input('Password: ')
login_data = parse.urlencode([
('username', email),
('password', passwd),
('entry', 'mweibo'),
('client_id', ''),
('savestate', '1'),
('ec', ''),
('pagerefer', 'https://passport.weibo.cn/signin/welcome?entry=mweibo&r=http%3A%2F%2Fm.weibo.cn%2F')
])
req = request.Request('https://passport.weibo.cn/sso/login')
req.add_header('Origin', 'https://passport.weibo.cn')
req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')
req.add_header('Referer', 'https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F')
with request.urlopen(req, data=login_data.encode('utf-8')) as f:
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
print('Data:', f.read().decode('utf-8'))
```
如果登录成功,我们获得的响应如下:
```bash
Status: 200 OK
Server: nginx/1.2.0
...
Set-Cookie: SSOLoginState=1432620126; path=/; domain=weibo.cn
...
Data: {"retcode":20000000,"msg":"","data":{...,"uid":"1658384301"}}
```
如果登录失败,我们获得的响应如下:
```bash
...
Data: {"retcode":50011015,"msg":"\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef","data":{"username":"example@python.org","errline":536}}
```
!!Handler
如果还需要更复杂的控制,比如通过一个Proxy去访问网站,我们需要利用ProxyHandler来处理,示例代码如下:
```bash
proxy_handler = urllib.request.ProxyHandler({'http': 'http://www.example.com:3128/'})
proxy_auth_handler = urllib.request.ProxyBasicAuthHandler()
proxy_auth_handler.add_password('realm', 'host', 'username', 'password')
opener = urllib.request.build_opener(proxy_handler, proxy_auth_handler)
with opener.open('http://www.example.com/login.html') as f:
pass
```
!!小结
urllib提供的功能就是利用程序去执行各种HTTP请求。如果要模拟浏览器完成特定功能,需要把请求伪装成浏览器。伪装的方法是先监控浏览器发出的请求,再根据浏览器的请求头来伪装,User-Agent头就是用来标识浏览器的。
!!练习
利用urllib读取JSON,然后将JSON解析为Python对象:
```bash
# -*- coding: utf-8 -*-
from urllib import request
def fetch_data(url):
return ''
# 测试
URL = 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%202151330&format=json'
data = fetch_data(URL)
print(data)
assert data['query']['results']['channel']['location']['city'] == 'Beijing'
print('ok')
```
!!参考源码
[[use_urllib.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_urllib.py]]
!virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
首先,我们用pip安装virtualenv:
```
$ pip3 install virtualenv
```
然后,假定我们要开发一个新的项目,需要一套独立的Python运行环境,可以这么做:
第一步,创建目录:
```bash
Mac:~ michael$ mkdir myproject
Mac:~ michael$ cd myproject/
Mac:myproject michael$
```
第二步,创建一个独立的Python运行环境,命名为venv:
```bash
Mac:myproject michael$ virtualenv --no-site-packages venv
Using base prefix '/usr/local/.../Python.framework/Versions/3.4'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Installing setuptools, pip, wheel...done.
```
命令virtualenv就可以创建一个独立的Python运行环境,我们还加上了参数--no-site-packages,这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。
新建的Python环境被放到当前目录下的venv目录。有了venv这个Python环境,可以用source进入该环境:
```bash
Mac:myproject michael$ source venv/bin/activate
(venv)Mac:myproject michael$
```
注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venv的Python环境。
下面正常安装各种第三方包,并运行python命令:
```bash
(venv)Mac:myproject michael$ pip install jinja2
...
Successfully installed jinja2-2.7.3 markupsafe-0.23
(venv)Mac:myproject michael$ python myapp.py
...
```
在venv环境下,用pip安装的包都被安装到venv这个环境下,系统Python环境不受任何影响。也就是说,venv环境是专门针对myproject这个应用创建的。
退出当前的venv环境,使用deactivate命令:
```bash
(venv)Mac:myproject michael$ deactivate
Mac:myproject michael$
```
此时就回到了正常的环境,现在pip或python均是在系统Python环境下执行。
完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
!!小结
virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。
!Web开发
最早的软件都是运行在大型机上的,软件使用者通过“哑终端”登陆到大型机上去运行软件。后来随着PC机的兴起,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种Client/Server模式简称CS架构。
随着互联网的兴起,人们发现,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App,因此,Browser/Server模式开始流行,简称BS架构。
在BS架构下,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。
当然,Web页面也具有极强的交互性。由于Web页面是用HTML编写的,而HTML具备超强的表现力,并且,服务器端升级后,客户端无需任何部署就可以使用到新的版本,因此,BS架构迅速流行起来。
今天,除了重量级的软件如Office,Photoshop等,大部分软件都以Web形式提供。比如,新浪提供的新闻、博客、微博等服务,均是Web应用。
Web应用开发可以说是目前软件开发中最重要的部分。Web开发也经历了好几个阶段:
静态Web页面:由文本编辑器直接编辑并生成静态的HTML页面,如果要修改Web页面的内容,就需要再次编辑HTML源文件,早期的互联网Web页面就是静态的;
CGI:由于静态Web页面无法与用户交互,比如用户填写了一个注册表单,静态Web页面就无法处理。要处理用户发送的动态数据,出现了Common Gateway Interface,简称CGI,用C/C++编写。
ASP/JSP/PHP:由于Web应用特点是修改频繁,用C/C++这样的低级语言非常不适合Web开发,而脚本语言由于开发效率高,与HTML结合紧密,因此,迅速取代了CGI模式。ASP是微软推出的用VBScript脚本编程的Web开发技术,而JSP用Java来编写脚本,PHP本身则是开源的脚本语言。
MVC:为了解决直接用脚本语言嵌入HTML导致的可维护性差的问题,Web应用也引入了Model-View-Controller的模式,来简化Web开发。ASP发展为ASP.Net,JSP和PHP也有一大堆MVC框架。
目前,Web开发技术仍在快速发展中,异步开发、新的MVVM前端技术层出不穷。
Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发。
Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快。
!!本章我们会详细讨论Python Web开发技术。
[[HTTP协议简介]]
[[HTML简介]]
[[WSGI接口]]
[[使用Web框架]]
[[使用模板]]
!WSGI接口
了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是:
浏览器发送一个HTTP请求;
服务器收到请求,生成一个HTML文档;
服务器把HTML文档作为HTTP响应的Body发送给浏览器;
浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。Apache、Nginx、Lighttpd等这些常见的静态服务器就是干这件事情的。
如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。
正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。
这个接口就是WSGI:Web Server Gateway Interface。
WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello, web!”:
```bash
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return [b'<h1>Hello, web!</h1>']
```
上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:
environ:一个包含所有HTTP请求信息的dict对象;
start_response:一个发送HTTP响应的函数。
在application()函数中,调用:
```bash
start_response('200 OK', [('Content-Type', 'text/html')])
```
就发送了HTTP响应的Header,注意Header只能发送一次,也就是只能调用一次start_response()函数。start_response()函数接收两个参数,一个是HTTP响应码,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。
通常情况下,都应该把Content-Type头发送给浏览器。其他很多常用的HTTP Header也应该发送。
然后,函数的返回值`b'<h1>Hello, web!</h1>'`将作为HTTP响应的Body发送给浏览器。
有了WSGI,我们关心的就是如何从environ这个dict对象拿到HTTP请求信息,然后构造HTML,通过start_response()发送Header,最后返回Body。
整个application()函数本身没有涉及到任何解析HTTP的部分,也就是说,底层代码不需要我们自己编写,我们只负责在更高层次上考虑如何响应请求就可以了。
不过,等等,这个application()函数怎么调用?如果我们自己调用,两个参数environ和start_response我们没法提供,返回的bytes也没法发给浏览器。
所以application()函数必须由WSGI服务器来调用。有很多符合WSGI规范的服务器,我们可以挑选一个来用。但是现在,我们只想尽快测试一下我们编写的application()函数真的可以把HTML输出到浏览器,所以,要赶紧找一个最简单的WSGI服务器,把我们的Web应用程序跑起来。
好消息是Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯Python编写的WSGI服务器的参考实现。所谓“参考实现”是指该实现完全符合WSGI标准,但是不考虑任何运行效率,仅供开发和测试使用。
!运行WSGI服务
我们先编写hello.py,实现Web应用程序的WSGI处理函数:
```bash
# hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return [b'<h1>Hello, web!</h1>']
```
然后,再编写一个server.py,负责启动WSGI服务器,加载application()函数:
```bash
# server.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hello import application
# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()
```
确保以上两个文件在同一个目录下,然后在命令行输入python server.py来启动WSGI服务器:
[img[python51.jpeg]]
注意:如果8000端口已被其他程序占用,启动将失败,请修改成其他端口。
启动成功后,打开浏览器,输入http://localhost:8000/,就可以看到结果了:
[img[python52.jpeg]]
在命令行可以看到wsgiref打印的log信息:
[img[python53.jpeg]]
按Ctrl+C终止服务器。
如果你觉得这个Web应用太简单了,可以稍微改造一下,从environ里读取PATH_INFO,这样可以显示更加动态的内容:
```bash
# hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
body = '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web')
return [body.encode('utf-8')]
```
你可以在地址栏输入用户名作为URL的一部分,将返回Hello, xxx!:
[img[python54.jpeg]]
是不是有点Web App的感觉了?
!!小结
无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。
复杂的Web应用程序,光靠一个WSGI函数来处理还是太底层了,我们需要在WSGI之上再抽象出Web框架,进一步简化Web开发。
!!参考源码
[[hello.py|https://github.com/michaelliao/learn-python3/blob/master/samples/web/hello.py]]
[[do_wsgi.py|https://github.com/michaelliao/learn-python3/blob/master/samples/web/do_wsgi.py]]
!XML
XML虽然比JSON复杂,在Web中应用也不如以前多了,不过仍有很多地方在用,所以,有必要了解如何操作XML。
!!DOM vs SAX
操作XML有两种方法:DOM和SAX。DOM会把整个XML读入内存,解析为树,因此占用内存大,解析慢,优点是可以任意遍历树的节点。SAX是流模式,边读边解析,占用内存小,解析快,缺点是我们需要自己处理事件。
正常情况下,优先考虑SAX,因为DOM实在太占内存。
在Python中使用SAX解析XML非常简洁,通常我们关心的事件是start_element,end_element和char_data,准备好这3个函数,然后就可以解析xml了。
举个例子,当SAX解析器读到一个节点时:
```bash
<a href="/">python</a>
```
会产生3个事件:
start_element事件,在读取<a href="/">时;
char_data事件,在读取python时;
end_element事件,在读取</a>时。
用代码实验一下:
```bash
from xml.parsers.expat import ParserCreate
class DefaultSaxHandler(object):
def start_element(self, name, attrs):
print('sax:start_element: %s, attrs: %s' % (name, str(attrs)))
def end_element(self, name):
print('sax:end_element: %s' % name)
def char_data(self, text):
print('sax:char_data: %s' % text)
xml = r'''<?xml version="1.0"?>
<ol>
<li><a href="/python">Python</a></li>
<li><a href="/ruby">Ruby</a></li>
</ol>
'''
handler = DefaultSaxHandler()
parser = ParserCreate()
parser.StartElementHandler = handler.start_element
parser.EndElementHandler = handler.end_element
parser.CharacterDataHandler = handler.char_data
parser.Parse(xml)
```
需要注意的是读取一大段字符串时,CharacterDataHandler可能被多次调用,所以需要自己保存起来,在EndElementHandler里面再合并。
除了解析XML外,如何生成XML呢?99%的情况下需要生成的XML结构都是非常简单的,因此,最简单也是最有效的生成XML的方法是拼接字符串:
```bash
L = []
L.append(r'<?xml version="1.0"?>')
L.append(r'<root>')
L.append(encode('some & data'))
L.append(r'</root>')
return ''.join(L)
```
如果要生成复杂的XML呢?建议你不要用XML,改成JSON。
!!小结
解析XML时,注意找出自己感兴趣的节点,响应事件时,把节点数据保存起来。解析完毕后,就可以处理数据。
!!练习
请利用SAX编写程序解析Yahoo的XML格式的天气预报,获取天气预报:
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%202151330&format=xml
参数woeid是城市代码,要查询某个城市代码,可以在weather.yahoo.com搜索城市,浏览器地址栏的URL就包含城市代码。
```bash
# -*- coding:utf-8 -*-
from xml.parsers.expat import ParserCreate
from urllib import request
def parseXml(xml_str):
print(xml_str)
return {
'city': '?',
'forecast': [
{
'date': '2017-11-17',
'high': 43,
'low' : 26
},
{
'date': '2017-11-18',
'high': 41,
'low' : 20
},
{
'date': '2017-11-19',
'high': 43,
'low' : 19
}
]
}
# 测试:
URL = 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%202151330&format=xml'
with request.urlopen(URL, timeout=4) as f:
data = f.read()
result = parseXml(data.decode('utf-8'))
assert result['city'] == 'Beijing'
```
!!参考源码
[[use_sax.py|https://github.com/michaelliao/learn-python3/blob/master/samples/commonlib/use_sax.py]]
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
通过学习,认识宇宙
学以致用
Yu Gongde,希望探索宇宙的人
[img[http://www.bolebook.com/MJT/aboutyudade.jpg]]